在 android 中多个 activity 中互相访问是常见的一种操作,比如:打开系统浏览器、显示系统拨号盘等等。
做这些操作的时候,自然是需要传递一些数据过去,比如:要打开的网址、要拨打的电话号码等等。
先来看最简单的打开新的 activity 界面
var intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
这端代码会打开一个 SecondActivity 的界面。
如果要打开 android 系统浏览器,就需要写成这样
var intent = Intent(Intent.ACTION_VIEW)
intent.setData(Uri.parse("http://www.baidu.com"))
startActivity(intent)
Intent.ACTION_VIEW 是一个常量,对应系统的浏览器。
执行这端代码,就会在系统浏览器中打开 www.baidu.com 网站。
当然,你不能忘记了需要在 AndroidManifest.xml 中设置网络访问权限
而打开系统拨号盘也是类似的做法
var intent = Intent(Intent.ACTION_DIAL)
intent.setData(Uri.parse("tel:13912335677"))
startActivity(intent)
只不过,打开拨号盘对应的常量是 Intent.ACTION_DIAL
数据的设置是 tel: 13912335677,这个就是电话号码了。
以上是跳出我们