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

Android 13调用ACTION_APP_LOCALE_SETTINGS报错问题求助

问题原因及解决方法
  • 代码存在格式错误,Android 13已实现应用区域设置功能,报错是因为Intent的Uri参数格式不符合系统要求。
  • 系统处理ACTION_APP_LOCALE_SETTINGS时,需要传递带package scheme的Uri,或是通过setPackage()方法指定目标应用包名。你直接传入纯包名字符串解析Uri,会导致系统无法识别目标应用,进而找不到对应的处理Activity。

修正后的代码

方式一:使用正确的Uri格式

override fun openAppLocaleSettings(activity: Activity) {
    activity.startActivity(
        Intent(Settings.ACTION_APP_LOCALE_SETTINGS)
            .setData(Uri.fromParts("package", activity.packageName, null))
    )
}

方式二:通过setPackage指定包名

override fun openAppLocaleSettings(activity: Activity) {
    activity.startActivity(
        Intent(Settings.ACTION_APP_LOCALE_SETTINGS)
            .setPackage(activity.packageName)
    )
}
  • 额外建议:调用前增加可用性校验,避免在低版本系统或特殊设备上崩溃:
override fun openAppLocaleSettings(activity: Activity) {
    val intent = Intent(Settings.ACTION_APP_LOCALE_SETTINGS)
        .setData(Uri.fromParts("package", activity.packageName, null))
    if (intent.resolveActivity(activity.packageManager) != null) {
        activity.startActivity(intent)
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:15:21