Android 11及以上版本打开TestingSettingsActivity遇权限拒绝问题求助
Android 11+ 打开
TestingSettingsActivity的解决方案 你遇到的SecurityException是因为Android 11及以上版本对系统内部组件的访问权限做了严格限制,TestingSettingsActivity属于系统专属的测试/调试组件,默认禁止第三方应用直接启动,它要求调用方拥有系统签名或特定的系统级权限。
以下是不同场景下的可行解决方式:
调试场景(非应用内启动):
如果只是开发调试时需要打开该页面,可以使用ADB命令直接启动,无需修改应用代码:adb shell am start -n com.android.settings/.Settings$TestingSettingsActivity系统应用场景:
若你的应用是系统级应用(拥有系统签名),可以在Manifest中添加对应的系统权限(如android.permission.MANAGE_TESTING_SETTINGS,需根据系统版本确认具体权限),之后再使用你原来的代码启动Activity即可。但第三方普通应用无法获取系统签名,此方案仅适用于系统预装应用。第三方应用替代方案:
第三方应用无法直接启动TestingSettingsActivity,如果你的目标是访问高级网络设置,可以尝试使用系统公开的设置Action跳转至官方网络设置页面,部分设备的高级网络选项可在此页面内找到:Intent intent = new Intent(Settings.ACTION_INTERNET_SETTINGS); startActivity(intent);
内容的提问来源于stack exchange,提问作者Joandysson Gama
相关产品推荐
相关产品推荐

