2
私はアプリにBATTERSTATS
権限を与えようとしています。私はPCからのコマンドを実行すると - それだけで正常に動作します:adbシェルからコードを通してコマンドを理解する - Android
adb shell pm grant com.example.sample.myapplication android.permission.BATTERY_STATS
しかし、同じ
pm grant
コマンドが動作しないAndroidアプリから実行した場合:
java.lang.Process process = Runtime.getRuntime().exec("pm grant com.example.sample.myapplication android.permission.BATTERY_STATS");
それは、これを与えるためにroot権限を必要としません許可? そうであれば、adb shell
経由でデバイスを実行するためにデバイスをルートする必要はありません。
私はAndroidには新しく、内部で何が起こっているのか、どのように進めるのかを少し明確に説明してください。
なぜ実行時に実行していますか?マニフェストにパーミッションを追加するだけです –
アプリケーションで実行時にコマンドを実行する場合、adbシェルで使用できるコマンドにrootが必要なことがよくあります。実行時にアクセス許可を与えたい場合は、https://developer.android.com/training/permissions/requesting.html – babadaba
@ cricket_007を読んでください。私はそれを私のマニフェストに与えましたが、それでも動作しません。 – Sankarann