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标识的时候,就会提示用户,选择哪一个应用程序

  • 相关阅读:
    记第一场省选
    POJ 2083 Fractal 分形
    CodeForces 605A Sorting Railway Cars 思维
    FZU 1896 神奇的魔法数 dp
    FZU 1893 内存管理 模拟
    FZU 1894 志愿者选拔 单调队列
    FZU 1920 Left Mouse Button 简单搜索
    FZU 2086 餐厅点餐
    poj 2299 Ultra-QuickSort 逆序对模版题
    COMP9313 week4a MapReduce
  • 原文地址:https://www.cnblogs.com/android-deli/p/10107174.html
Copyright © 2011-2022 走看看