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

Android Kotlin中如何绕过默认应用,显示所有支持URI的应用

解决方案

要强制弹出所有支持该URL的应用选择器,跳过默认应用直接打开的逻辑,你可以按以下步骤实现:

  • 构建基础URL Intent
    先创建用于打开链接的基础Intent,指定动作和目标地址:

    val urlIntent = Intent(Intent.ACTION_VIEW).apply {
        data = Uri.parse("https://example.com")
        flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
    }
    
  • 生成应用选择器Intent
    用Intent.createChooser()方法创建选择器,这一步是关键——它会忽略系统的默认应用设置,强制列出所有能处理该链接的应用:

    val chooserIntent = Intent.createChooser(
        urlIntent,
        "选择打开链接的应用" // 这里可以自定义选择器的标题文字
    )
    
  • 启动选择器
    最后启动这个选择器Intent,记得先检查是否有匹配的应用,避免崩溃:

    if (chooserIntent.resolveActivity(packageManager) != null) {
        startActivity(chooserIntent)
    }
    

额外说明

如果需要更定制化的选择界面,可以通过PackageManager.queryIntentActivities()获取所有匹配的应用信息,自己实现弹窗或列表来让用户选择,再启动对应应用的Intent。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 23:14:51