没什么办法。
好像只能跳过这一段不学。
第一行代码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也是一个可以考虑的函数。