zoukankan      html  css  js  c++  java
  • Android-隐式意图激活所有应用

    显示意图隐式意图 对比

      

      显示意图不能激活多个组件,只能激活一个组件

      隐式意图能激活多个组件

      显示意图只能在自身应用激活,不能激活其他应用

      隐士意图能在自身应用激活,也能激活其他应用

      


    每个应用程序之所以在桌面能显示应用图标,是因为在安装应用的时候,系统会解析以下暴露的节点

    点击桌面应用的图标,之所以能启动,是因为系统是采用隐式意图激活:激活的action是:android:name="android.intent.action.MAIN"

    每个应用程序都会有,以下隐式意图的暴露:

            <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>

    所以以下代码,可以同时激活,所有的应用程序:

      /**
         * 激活所有的应用程序
         * @param view
         */
        public void tumpAllAPP(View view) {
            Intent intent = new Intent();
            // intent.setAction(Intent.ACTION_MAIN);
            intent.setAction("android.intent.action.MAIN");
            // 在这里为什么不需要设置:category android:name="android.intent.category.DEFAULT",因为在startActivity会自动添加
            startActivity(intent);
        }

    隐式意图激活所有应用程序的效果:

    隐式意图激活的时候,系统会搜索所有action标识,当发现有多个相同的action标识的时候,就会提示用户,选择哪一个应用程序

  • 相关阅读:
    明确架构目标
    是什么浪费了我的时间
    精益求精,抑或得过且过[转]
    web界面应用的十种常见技术
    我对软件优化的一些想法
    最新31个非常棒的 Photoshop 网页设计教程
    sql2005提示工具程序
    转载:一篇深入了解.NET中栈和堆较好的文章
    推荐18个非常棒的Web和移动开发框架
    介绍一下这些工具FishAspnetLoader
  • 原文地址:https://www.cnblogs.com/android-deli/p/10107174.html
Copyright © 2011-2022 走看看