因此,感谢this,我已将我的应用程序安装为系统应用程序。正如上面所述,我已经从 adb 完成。我的应用程序是系统应用程序,正如我在扎根手机中看到的那样。
现在,我的问题是MODIFY_PHONE_STATE权限仍然返回-1,即使我的应用程序是系统应用程序。我的系统是Android 7.1.2。
这是一个代码:
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if(grantResults.length == 0){
System.out.println("This DENSE ain't answering");
return;
}
if (requestCode == MODIFY_PHONE_STATE && grantResults[0] == PackageManager.PERMISSION_GRANTED){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
if(telephonyManager.hasCarrierPrivileges()) {
System.out.println("TRUE hasCarrierPrivileges");
}else{
System.out.println(telephonyManager.getNetworkOperatorName());
System.out.println("FALSE hasCarrierPrivileges");
}
}
System.out.println("TRUE MODIFY_PHONE_STATE");
}
else {
System.out.println("False MODIFY_PHONE_STATE " + grantResults[0]);
}
}
可悲的是输出:False MODIFY_PHONE_STATE -1.
在清单中,我得到了:
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" tools:ignore="ProtectedPermissions" />
谢谢!