Понимание команды через оболочку adb и через код - Android

Я пытаюсь датьBATTERSTATS разрешение на приложение. Когда я запускаю команду с ПК - она ​​работает просто отлично:

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, пожалуйста, объясните немного более четко, что происходит внутри и как действовать.

Ответы на вопрос(1)

Ваш ответ на вопрос