在Android系统中,应用程序一般有多个 Activity, Intent 可以实现不同 Activity 之间的切换和数据传递。
显式启动
显式启动需要在 Intent 中指明启动的 Activity 所在的类。
关键代码:
//1.创建一个 Intent,并为它指定当前程序的上下文,以及要启动的 Activity
Intent intent = new Intent(SplashActivity.this,MainActivity.class);
//2.把创建好的 Intent作为参数传递给 startActivity()方法
startActivity(intent);
可将上述代码,放到事件监听的响应代码里,实现控制从一个 Activity 启动新的 Activity。
隐式启动
隐式启动不需要指明启动哪一个 Activity ,而由系统来决定。
选择隐式启动 Activity,Android 系统会在程序运行时解析 Intent,并根据一定的规则对 Intent 和 Activity 进行匹配,使 Intent 上的动作、数据与 Activity 完全吻合。//匹配的组件可以是程序本身的 Activity,也可以是 Android 内置的 Activity,还可以是第三方应用程序提供的 Activity。
关键代码:
//Intent构造函数第一个参数是 Intent 需要执行的动作;第二个参数是URI,表示需要传递的数据
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("https://my.oschina.net/zhangyujian/blog"));
startActivity(intent);
说明:ACTION_VIEW 表明需要启动具有浏览功能的 Activity,再根据 URI 判断浏览电话号码还是浏览网页
Intent 常用动作
动作
简要说明
ACTION_ANSWER
接听电话
ACTION_CALL
拨打电话
ACTION_DELETE
删除所提供数据
ACTION_DIAL
打开拨号界面
ACTION_EDIT
编辑所提供数据
ACTION_INSERT
当前位置插入新项
ACTION_PICK
列表中选取一项
ACTION_SEARCH
搜索动作
ACTION_SENDTO
向提供的联系人发信息
ACTION_SEND
发送数据
ACTION_VIEW
浏览功能(浏览器/拨号)
ACTION_WEB_SEARCH
Web搜索