我正在尝试运行一些安全的(内部)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();
但这也没帮助我。那我做错了什么呢?
这个能做到吗?如果很重要,我正在尝试使用PhoneFactory获取com.android.internal.telephony.Phone类的实例(通过反射获取)。除去反射,它看起来应该是这样的:
// Initialize the telephony framework
PhoneFactory.makeDefaultPhones(this);
// Get the default phone
Phone phone = PhoneFactory.getDefaultPhone();