Activity的跳转分为显式和隐式跳转
1显式跳转
Intent intent=new Intent(当前Activity,你要跳转的Activity);//当前 activity.this 调转 activity.class
startActivity(intent);//开始跳转
finish();//关闭当前活动
2隐式跳转
首先在清单中(AndroidManifest)配置属性
</activity>
<activity
<intent-filter>
<action android:name="com.aaa" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http://www.baidu.com" />
</intent-filter>
</activity>
值的属性:
1>android:scheme 用于指定数据的协议部分 如 http部分
2.>android:host 用于指定数据的主机部分 如www,baidu.com
3>android:port 用于指定数据的端口部分,一般紧随在主机名后
4>android:path 用于指定主机名和端口之后的部分,如一段网址中跟在域名之后的内容
5>android:mimeType 用于指定可以处理数据的类型,允许使用通配符方式进行指定
标签的属性:
<action> 指明了当前活动可以说响应com.aaa这个action
<category> 包含了一些附加的信息,跟精确的指明了当前的活动能够响应的intent中还可能带有的category.
注意:中有<action>和<category>中的内容同时能够匹配上中Intent中指定的action和category时,才能响应intent(android.intent.category.DEFAULT一般在调用startActivity()方法是,会自动将这个category添加到Intent中)
<data>标签中指定的内容和Intent中携带的内容Data内容一致
Intent intent=new Intent("com.aa");
statrtActivity(intent);
finish();
补充:
每个Intent中只能指定一个action,但却能指定多个category不过必须在列表清单中声明
<category android:name=" com.example.Ativitytest.MY_CATEGORY"/>
如:
Intent intent=new Intent("com.aa");
intent.addCategory("com.bb");
statrtActivity(intent);
显式跳转和隐式跳转的区别
1、显式跳转明确知道目标类,所以一般使用在 本应用内Activity的跳转
2、隐式跳转不知道目标类,所以一般使用在跨应用Activity跳转
,而且满足要求的Activity都能列出来,用户体验较好
跳转到系统的应用
发送短信(不要忘了在列表清单中配置权限
<uses-permission android:name="android.permission.SEND_SMS"/>)
String message = et_message.getText().toString();
String phone = et_phone.getText().toString();
//打开系统的短信应用,同时传递短信内容数据
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.addCategory("android.intent.category.DEFAULT");
//传递电话号码
intent.setData(Uri.parse("smsto:"+phone));
//传递短信内容
intent.putExtra("sms_body", message);
//启动Activity
startActivity(intent);
打电话(在列表清单中配置权限
<uses-permission android:name="android.permission.CALL_PHONE"/>)
String phone = et_phone.getText().toString();
Intent intent = new Intent(Intent.ACTION_CALL);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("tel:"+phone));
startActivity(intent);
Activity的跳转
最新推荐文章于 2024-07-09 15:08:59 发布