android kotlin chrome intent uri链接不弹出可响应应用选择器而是默认跳转到谷歌浏览器-安卓模拟器Pixel

没什么办法。

好像只能跳过这一段不学。

第一行代码Android第三版。3.3使用Intent在Activity之间穿梭。第103页第104页。

在Pixel安卓模拟器中,设置(setting)中,默认启动的浏览器是谷歌Chrome。

如果前往QQ浏览器官网下一个QQ浏览器手机版并且修改,那么遇到uri.parse()唤起的就是QQ浏览器了。但没什么用。

可以使用myapp://hello做测试,拦截myapp协议。你会发现写的activity是可以正常跳转的,如果你写两个就会弹出可响应应用选择器。

这里贴上一段自己的代码以后说不定用得上:

class test : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_test)

        val button: Button = findViewById(R.id.button1)
        button.setOnClickListener {
            val uriString = "myapp://hello"
            val uri = Uri.parse(uriString)
            val intent = Intent(Intent.ACTION_VIEW, uri)

            // 添加 CATEGORY_BROWSABLE 类别,告诉系统即使是浏览器也要显示应用程序选择器
            intent.addCategory(Intent.CATEGORY_BROWSABLE)

            // 使用 createChooser 包装原始 Intent
            val chooserIntent = Intent.createChooser(intent, "Choose an application")

            // 启动 Intent,显示应用程序选择器对话框
            startActivity(chooserIntent)
        }
    }
}

Intent.createChooser也是一个可以考虑的函数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值