You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Android14(SDK34)后调用系统Intent启动Activity崩溃求助

问题原因与解决方案

问题核心

从崩溃日志和代码可以明确:你给启动系统设置的Intent强制指定了自己应用的包名reactContext.getPackageName(),但Settings.ACTION_DISPLAY_SETTINGS对应的是系统设置应用的Activity,并不在你的应用包内。Android 14对Intent的包名匹配校验更严格,直接导致系统找不到可处理该Intent的Activity,触发ActivityNotFoundException。

修复代码

直接移除设置包名的代码,创建正确指向系统设置的Intent即可:

Intent i = new Intent(Settings.ACTION_DISPLAY_SETTINGS);
Objects.requireNonNull(reactContext.getCurrentActivity()).startActivity(i);

额外优化建议

为了避免类似异常,建议在启动Intent前先校验是否有应用能响应:

Intent i = new Intent(Settings.ACTION_DISPLAY_SETTINGS);
PackageManager packageManager = reactContext.getPackageManager();
if (i.resolveActivity(packageManager) != null) {
    Objects.requireNonNull(reactContext.getCurrentActivity()).startActivity(i);
} else {
    // 这里可以添加提示逻辑,比如告知用户无法打开设置
}

内容的提问来源于stack exchange,提问作者user23508983

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 20:57:06