QT for android通过其配置文件读取电量

7 篇文章 0 订阅

网上找相关资料,但很少,有从这个SYSTEM_POWER_STATUS里获取的方法,但我无法使用,苦寻很久,突然发现原来可以通过安卓本身的系统文件中获取

关键点:在安卓的系统文件中"/sys/class/power_supply/battery/uevent"可以直接读取到电量的值

方法一: 利用QFile,读取完记得关闭该文件

    // 读取本地文件
    QString file_path = "/sys/class/power_supply/battery/uevent";

    //实例QFile
    QFile 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();
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值