Intent意图--页面跳转

6
回复
688
查看
[复制链接]

12

主题

12

帖子

697

安币

代码手工艺人

Rank: 4

发表于 2016-7-21 13:16:20 | 显示全部楼层 |阅读模式
Intent

    1、Intent作用

         用于封装程序的”调用意图“

         实现两个Activity之间的数据交换

         各种应用程序组件(Service、BroadcastReceiver)之间通信的重要媒介

    2、Intent的页面跳转方式

        (1)

                Intent intent = new Intent();

                intent.setClass(this, Demo02.class);

        (2)

                Intent intent = new Intent(this, Demo02.class);

        (3)

                通过ComponentName类。步骤:

                * 创建一个无参的意图

                * 构造组件对象(context / 当前类所属的包跳转的类.class /全路径

                * 通过意图把组建对象设置到里面

                Intent intent = new Intent();

                ComponentName component = new ComponentName(this, Demo02.class);

     //        ComponentName component = new ComponentName("com.example.day07",  

                                                                       "com.example.day07.Demo02");

     //         ComponentName component = new ComponentName(getPackageName(),

                                                                        getPackageName()+".Demo02");

                 intent.setComponent(component);

        (4)

                Intent intent = new Intent();

                intent.setClassName(this, getPackageName()+".Demo02");

                intent.setClassName(getPackageName(), getPackageName()+".Demo02");

        (5)

                隐式意图---可以访问到其他应用程序的界面(如相机访问相册)

                步骤:

                 * 在即将要跳转的activity的下面声明意图过滤器    action="自定义"    category="...DEFAULT"

                 * 一个activity可以有多个action

                Intent intent = new Intent();

                intent.setAction("enter.Demo02");  //跟清单配置文件中的对应

    //         Intent intent2 = new Intent("enter.Demo02_2");

                intent.addCategory(Intent.CATEGORY_DEFAULT);    //可以不写,如果不写,会自动添加

                要在清单配置文件中对应的activity中配置意图过滤器

                <intent-filter>

                    <action android:name="enter.Demo02" />

                    <category android:name="android.intent.category.DEFAULT" />

                </intent-filter>



    3.通过隐式意图调用其它APP的界面


      

      

      

      

      

   4.Intent的七大属性


      

     Action常用的:     
        ACTION_MAIN:(android.intent.action.MAIN)Android程序入口。
        ACTION_VIEW: (android.intent.action.VIEW) 显示指定数据。

        ACTION_CALL: (android.intent.action.CALL) 直接呼叫Data中所带的号码。

        ACTION_SEND: (android.intent.action.SEND) 向其他人发送数据(例如:彩信/email)。

        ACTION_SENDTO:  (android.intent.action.SENDTO) 向其他人发送短信。

        ACTION_GET_CONTENT: (android.intent.action.GET_CONTENT) 让用户选择数据,并返回所选数据。

        Category常用的:

        CATEGORY_DEFAULT: (android.intent.category.DEFAULT) Android系统中默认的执行方式,按照普通        Activity的执行方式执行。

        CATEGORY_HOME: (android.intent.category.HOME) 设置该组件为Home Activity。

        CATEGORY_LAUNCHER: (android.intent.category.LAUNCHER) 设置该组件为在当前应用程序启动器中优先级最高的Activity,通常与入口ACTION_MAIN配合使用。


    5.隐式意图和显式意图的区别
        隐式意图:开启activity的时候不需要直接指定activity的名称,通过指定一组动作和数据,让系统来找到    这个特定的activity。



        应用场景:


             1、让外部应用程序开启自己应用程序里面的activity;


             2、开启外部应用程序的activity;


        显示意图:开启activity的时候直接指定activity的名称;
        应用场景:应用程序内部调用。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

62

主题

9832

帖子

899

安币

代码手工艺人

学海无涯

Rank: 4

QQ达人

发表于 2016-7-21 13:24:22 | 显示全部楼层
帮帮顶顶!!

28

主题

1万

帖子

1362

安币

Android大神

小白

Rank: 6Rank: 6

发表于 2016-7-21 13:24:52 | 显示全部楼层
相当不错,感谢无私分享精神!

0

主题

9448

帖子

2402

安币

Android大神

Rank: 6Rank: 6

发表于 2016-7-21 13:27:44 | 显示全部楼层
膜拜大神~

0

主题

9210

帖子

2371

安币

Android大神

Rank: 6Rank: 6

发表于 2016-7-21 13:40:46 | 显示全部楼层
apkbus好的内容真的很多~赞

7

主题

1万

帖子

2316

安币

Android大神

Rank: 6Rank: 6

发表于 2016-7-21 14:02:07 | 显示全部楼层
好好 学习了 确实不错

27

主题

9736

帖子

1856

安币

Android大神

Rank: 6Rank: 6

发表于 2016-7-21 14:08:17 | 显示全部楼层
不错不错,楼主辛苦了。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )