Android使用intent跳转到其它应用activity界面
2017-05-12 18:22
465 查看
转自:http://blog.csdn.net/hn_lgc/article/details/51869359
Android使用intent跳转到其它应用activity界面
关于这方面的理解:
1、使用包名和类名直接启动,前提是知道这两个。
1.1、启动主activity
1.2、启动非主的activity,非主的activity不能直接启动,必须要在manifest里面设置exported属性为true,表示此activity对外公开,才能直接跳转。
1.3、应当把这部分代码放到try块里面,跳转出错时捕获异常,否则异常会导致应用崩溃。
1.4、还可以通过代码获取包名,主类名,不过这样就不算直接启动了。
2、一般的。使用这种方法只能启动到系统的activity,没搞出来,待探究。
2.1、使用intent-filter的intent的属性配合起来用。
在xml文件中给对应的activity添加intentt-filter节点,再在节点下面添加各种属性。
要启动activity是,intent添加属性,当某个activity的intent-filter里面的属性包括了intent所含的所有属性,
则这个activity满足条件。当有 多个满足条件的activity时会让用户选择启动哪个 。
2.2具体的。
action:主要是代表这个activity所执行的动作。比如查看,编辑,拨打。相当于一个句子中的动词。另外还代表一些其他的特性,比如main。
category:分类,主要是指定activity是关于处理哪方面的信息的。比如地图,邮件。相当于一个句子的宾语。
data:传递数据用。调到其它的activity,有可能就会带一些数据,这个数据通过可以通过intent的putExtras传递,也可以通过data传递。
extra传递必须知道key,适用于在一个应用中。在应用间传递就用data,data规定了格式等,就适用于在应用间传递一些规范了的数据。
data的结构较为复杂,字符串格式和url(http的)一样。“模式://主机:端口/路径”,在data节点下指这些值
这里有四个部分,指定其中几个部分为某值。比如指定模式为content,则intent必须指定模式为intent的,才能启动此acvitiy。
另外,有几种data的组合是不能指定的,比如缺少scheme的组合不行。
再另外:mimeType属性,也用于和前面的action搭配,指定动作的对象(宾语)。
2.3、注意的:(1) action,category,data,intent-filter这几个元素都是可以重复的,匹配时只选其中一个即可。
Android使用intent跳转到其它应用activity界面
关于这方面的理解:
1、使用包名和类名直接启动,前提是知道这两个。
1.1、启动主activity
Intent intent=new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); //参数是包名,类全限定名,注意直接用类名不行 ComponentName cn=new ComponentName("com.example.administrator.test", "com.example.administrator.test.MainActivity"); intent.setComponent(cn); startActivity(intent);
1.2、启动非主的activity,非主的activity不能直接启动,必须要在manifest里面设置exported属性为true,表示此activity对外公开,才能直接跳转。
Intent intent=new Intent(); //参数是包名,类全限定名,注意直接用类名不行 ComponentName cn=new ComponentName("com.example.administrator.test", "com.example.administrator.test.Activity2"); intent.setComponent(cn); startActivity(intent);
1.3、应当把这部分代码放到try块里面,跳转出错时捕获异常,否则异常会导致应用崩溃。
try
{
Intent intent=new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); //参数是包名,类全限定名,注意直接用类名不行 ComponentName cn=new ComponentName("com.example.administrator.test", "com.example.administrator.test.MainActivity"); intent.setComponent(cn); startActivity(intent);
}catch (Exception e)
{
Util.P.le("产生异常");
}
1.4、还可以通过代码获取包名,主类名,不过这样就不算直接启动了。
2、一般的。使用这种方法只能启动到系统的activity,没搞出来,待探究。
2.1、使用intent-filter的intent的属性配合起来用。
在xml文件中给对应的activity添加intentt-filter节点,再在节点下面添加各种属性。
要启动activity是,intent添加属性,当某个activity的intent-filter里面的属性包括了intent所含的所有属性,
则这个activity满足条件。当有 多个满足条件的activity时会让用户选择启动哪个 。
2.2具体的。
action:主要是代表这个activity所执行的动作。比如查看,编辑,拨打。相当于一个句子中的动词。另外还代表一些其他的特性,比如main。
category:分类,主要是指定activity是关于处理哪方面的信息的。比如地图,邮件。相当于一个句子的宾语。
data:传递数据用。调到其它的activity,有可能就会带一些数据,这个数据通过可以通过intent的putExtras传递,也可以通过data传递。
extra传递必须知道key,适用于在一个应用中。在应用间传递就用data,data规定了格式等,就适用于在应用间传递一些规范了的数据。
data的结构较为复杂,字符串格式和url(http的)一样。“模式://主机:端口/路径”,在data节点下指这些值
这里有四个部分,指定其中几个部分为某值。比如指定模式为content,则intent必须指定模式为intent的,才能启动此acvitiy。
另外,有几种data的组合是不能指定的,比如缺少scheme的组合不行。
再另外:mimeType属性,也用于和前面的action搭配,指定动作的对象(宾语)。
2.3、注意的:(1) action,category,data,intent-filter这几个元素都是可以重复的,匹配时只选其中一个即可。
相关文章推荐
- Android使用intent跳转到其它应用activity界面
- Android使用ListView构造复杂界面,响应点击事件,通过Intent跳转activity
- Android - 通俗解释应用界面跳转使用的Intent中Flag
- Android开发中使用Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- android 使用多个Intent 进行activity跳转 而没有finish的情况,如何直接退出系统
- 使用Intent filter来实现不同应用中Activity的相互跳转
- Android实现intent跳转界面传递数据(2)——onActivityResult方法接收返回值
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android中应用界面主题Theme使用方法和页面定时跳转应用
- Android 创建一个activity 及创建Intent对象跳转界面并传值
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发之Intent跳转到系统应用中的拨号界面
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- Android 使用Intent实现Activity跳转和数据传递
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- 自学Android之Activity:(四)使用Intent在Activity中跳转和传值(下)
- Android 使用多个Intent 进行activity跳转 而没有finish的情况,如何直接退出系统
- Android中应用界面主题Theme使用方法和页面定时跳转
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面