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

如何从自身应用唤起其他应用的标准应用属性页面?

如何在Android应用中唤起其他应用的系统设置详情页

完全可以实现,Android系统提供了标准的Intent Action来直接唤起这个应用详情页面,不用费劲找系统设置的特定Activity——不同厂商的系统设置内部Activity类名往往不一样,用标准Intent兼容性更强。

具体实现步骤:

  1. 构造目标Intent
    使用系统内置的Settings.ACTION_APPLICATION_DETAILS_SETTINGS作为Action,通过Uri指定目标应用的包名即可,示例代码如下:

    Kotlin 代码:

    val targetPackage = "com.example.targetapp" // 替换为你要唤起的应用包名
    val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
    intent.data = Uri.parse("package:$targetPackage")
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) // 可选,确保在新任务栈中打开设置页
    startActivity(intent)
    

    Java 代码:

    String targetPackage = "com.example.targetapp"; // 替换为你要唤起的应用包名
    Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
    Uri uri = Uri.fromParts("package", targetPackage, null);
    intent.setData(uri);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 可选,确保在新任务栈中打开设置页
    startActivity(intent);
    
  2. 兼容性校验
    为了避免部分定制系统不支持该Intent的情况,建议启动前先判断Intent是否可被处理:

    Kotlin 代码:

    if (intent.resolveActivity(packageManager) != null) {
        startActivity(intent)
    } else {
        // 处理无法打开的场景,比如给用户弹出提示
    }
    

    Java 代码:

    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    } else {
        // 处理无法打开的场景,比如给用户弹出提示
    }
    

关于Activity Launcher找不到对应Activity的说明

这个应用详情页属于系统设置App的内部页面,不同Android厂商(小米、华为、三星等)会有各自的实现类,没有统一的类名。但通过系统标准的ACTION_APPLICATION_DETAILS_SETTINGS Intent,系统会自动匹配当前设备对应的设置页面Activity,无需手动指定类名和额外参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 23:27:14