Я пытаюсь выполнить некоторые безопасные (внутренние) вызовы API, и я, очевидно, получаю исключения безопасности:
java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.provider.Telephony.SPN_STRINGS_UPDATED from pid=24864, uid=10107
Я пытаюсь выполнить тот же вызов из root, но я 'Я не уверен, если это возможно в первую очередь.Конечно, я могу получить права root:
Process p = Runtime.getRuntime().exec("su");
Но, похоже, это не сработает.Я получаю то же исключение безопасности.Один из примеров, которые я видел, пытается дождаться завершения вызова su
, как показано ниже:
Process p = Runtime.getRuntime().exec("su");
p.waitFor();
, но это мне тоже не помогло.Что я тогда делаю не так?Можно ли вообще это сделать?
Если это важно, я пытаюсь получить экземпляр класса com.android.internal.telephony.Phone, используя PhoneFactory (получая их с отражением).Если отбросить размышления, это будет выглядеть примерно так:
// Initialize the telephony framework
PhoneFactory.makeDefaultPhones(this);
// Get the default phone
Phone phone = PhoneFactory.getDefaultPhone();