Android 14三星设备中开发者设置Intent无法正常工作问题
Android 14三星设备打开开发者选项Intent异常问题解决
问题说明
这是Android 14三星设备的已知定制化问题,三星在Android 14系统中修改了开发者选项页面的Intent校验逻辑,即便设备已启用开发者选项,第三方应用调用Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS时,系统仍会误判状态,弹出“Turn on Developer options first”的Toast提示。
可行解决方案
使用三星定制Intent
部分三星Android 14设备支持直接调用其定制的开发者选项页面Intent,代码示例:val intent = Intent("com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS") intent.setPackage("com.samsung.android.settings") startActivity(intent)若上述代码无效,可尝试替换包名为
com.android.settings再测试。跳转设置首页引导手动进入
如果定制Intent失效,可先跳转系统设置首页,同时提示用户手动进入开发者选项:val intent = Intent(Settings.ACTION_SETTINGS) startActivity(intent) // 弹窗提示:请手动进入「系统」-「开发者选项」动态适配检测
调用Intent前先校验开发者选项状态,同时识别三星Android 14设备做针对性处理:val isDevOptionsEnabled = Settings.Secure.getInt(contentResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) == 1 val isSamsungAndroid14 = Build.MANUFACTURER.equals("samsung", ignoreCase = true) && Build.VERSION.SDK_INT == Build.VERSION_CODES.UPSIDE_DOWN_CAKE if (isDevOptionsEnabled) { val intent = if (isSamsungAndroid14) { Intent("com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS").apply { setPackage("com.samsung.android.settings") } } else { Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS) } startActivity(intent) }
内容的提问来源于stack exchange,提问作者Walker
相关产品推荐
相关产品推荐

