【发布时间】:2016-12-13 22:16:29
【问题描述】:
我正在尝试向应用授予 BATTERSTATS 权限。当我从 PC 运行命令时 - 它工作得很好:
adb shell pm grant com.example.sample.myapplication android.permission.BATTERY_STATS
但是从 Android 应用运行时,相同的 pm grant 命令不起作用:
java.lang.Process process = Runtime.getRuntime().exec("pm grant com.example.sample.myapplication android.permission.BATTERY_STATS");
是否需要root权限才能授予此权限?
如果是这样,为什么不需要root设备通过adb shell运行它?
我是 Android 新手,请更清楚地解释一下里面发生了什么以及如何进行。
【问题讨论】:
-
你为什么要在运行时执行它?只需将权限添加到清单
-
如果您在应用程序运行时执行命令,您可以在 adb shell 中使用的命令通常需要 root。如果您想在运行时授予权限,您应该阅读以下内容:developer.android.com/training/permissions/requesting.html
-
@cricket_007 我已经在我的清单中给出了它,但它仍然无法正常工作..
标签: android linux shell adb adb-shell