一、显式Intent
1、示范如何实现活动跳转
在按钮的点击事件里:
a、调用构造函数Intent(Context packageContext,Class<?>cls),第一参数是上下文,第二个参数是想要启动的目标活动
b、将上面构建的好的intent传入startActivity(),就可以启动目标活动了
二、隐式Intent
隐式Intent要制定一系列的action和category,调用时需要相对应显应,制定的位置是在目标活动下,被调用的位置是当前的上下文
示范如何实现活动跳转
a、打开AndroidManifest.xml,在启动的目标活动下添加anction和category(备注:SecondActivity是我的目标活动)
b、接着在按钮的点击事件里,构建Inten函数,直接将action字符串传进去,在此的category是一种默认的category,在调用startActivity()方法适合会自动添加到Intent中。
c、每个Intent中只能指定一个action,但可以指定多个category;如果想增加category,那么需要调用到Intent中addCategory()方法添加一个category,需要注意的是,添加的category需要在清单文件的目标活动下进行声明。
三、更多的隐式Intent
例如:在当前活动页面下,想要启动系统自带的浏览器
一样先修改按钮的点击事件:
a、首先指定了Intent的action是Intent.ACTION_VIEW,这是安卓系统内置的动作,其常量值为“android.intent.action.VIEW”。b、接着通过Intent.setData()方法解析Uri
c、而Uri对象获取的方法是:Uri.parse(“网址”)(将一个网址字符串解析成一个Uri对象)
d、最后,在清单文件当前活动下的标签中再配置一个标签,用于更精确指定当前活动能够响应什么类型的数据。
(1):android:scheme=“http” 用于指定http协议 ,tel表示拨打电话,geo表示显示地理位置
(2):android:host=“主机名部分”
(3):android:port=“端口部分”
(4) : android:path=“用于指定主机名和端口名之后的部分”
(5) : android:mimeType=“用于指定可以处理的数据类型,允许使用通配符的方式进行指定”
例子:在当前活动页面下,想要启动系统电话,并且传送数据显示10086
注意:虚拟器没有自带的电话驱动,比如雷电;
根据郭霖大神《第一行代码》学习,敬礼!