本文主要是介绍QT for android通过其配置文件读取电量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
网上找相关资料,但很少,有从这个SYSTEM_POWER_STATUS里获取的方法,但我无法使用,苦寻很久,突然发现原来可以通过安卓本身的系统文件中获取
关键点:在安卓的系统文件中"/sys/class/power_supply/battery/uevent"可以直接读取到电量的值
方法一: 利用QFile,读取完记得关闭该文件
// 读取本地文件QString file_path = "/sys/class/power_supply/battery/uevent";//实例QFileQFile file(file_path);//判断文件是否存在if(!file.exists()){qDebug() << "[" << file_path << "]:" << QString("该文件不存在!");return;}//存在打开,不存在创建bool ret = file.open(QIODevice::ReadOnly | QFile::Text);if (ret == true){QTextStream in(&file);QString line = in.readLine();qDebug() << line;while (!line.isNull() || !line.isEmpty()){line = in.readLine();if (line.indexOf("POWER_SUPPLY_CAPACITY=") == 0){qDebug() << line;file.close();return;}}file.close();}
方法二:利用 QSettings,代码更简洁,重复读取记得再次读取时clear
QSettings settings("/sys/class/power_supply/battery/uevent", QSettings::IniFormat);QString m_text;m_text = settings.value("POWER_SUPPLY_CAPACITY").toString();qDebug() << m_text;ui->label_battery->setText("电量:" + m_text + "%");if (m_text.toInt() <= 20){ui->label_battery->setStyleSheet("color:rgb(255, 48, 48);");}else{ui->label_battery->setStyleSheet("color:rgb(1, 104, 181);");}settings.clear();
这篇关于QT for android通过其配置文件读取电量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!