android - 在 Android Studio(华为 P20)中读取 "/sys/class/power_supply/Battery/current_now"的访问权限

标签 android file-permissions battery

大家。我试图访问文件“/sys/class/power_supply/Battery/current_now”以检索华为 P20 中的电池电流。

f =  File("/sys/class/power_supply/Battery/current_now");
if (f.exists()) {
  return OneLineReader.getValue(f, true)

但是我得到的错误是

java.io.FileNotFoundException:/sys/class/power_supply/Battery/current_now:打开失败:EACCES(权限被拒绝)

我已经授予读取和写入存储的权限。

private val PERMISSIONS_STORAGE = arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE)

fun verifyStoragePermissions(activity: Activity) {
    // Check if we have write permission
    val permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)

    if (permission != PackageManager.PERMISSION_GRANTED) {
        // We don't have permission so prompt the user
        ActivityCompat.requestPermissions(
                activity,
                PERMISSIONS_STORAGE,
                REQUEST_EXTERNAL_STORAGE
        )
    }
}

有人知道这个问题吗?

最佳答案

您需要关闭 selinux。 使用 adb shell "setenforce 0" 然后您可以从您的应用中读取它

关于android - 在 Android Studio(华为 P20)中读取 "/sys/class/power_supply/Battery/current_now"的访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51979772/

相关文章:

java - 如何在 Android 应用/游戏中最好地显示 4x4 图像网格?

android - Kotlin Android 扩展访问 TextView

unix - 目录执行和文件读取权限的区别

php - 为什么 is_readable & is_writable & file_exists 对于 URL 路径会失败而不是对于同一目录中的文件?

android - 在 Android 中执行 Ping 以检测设备故障/离开

java - fragment 不兼容的类型

java - 我们可以在另一个类中传递注入(inject)的对象吗

linux - Docker 容器中的文件权限

android - 查询电池容量

android - 有什么方法可以获得CMOS Status?