• 关于IntentFilter的几点注意事项:


    http://blog.csdn.net/cnnumen/article/details/8464786

    IntentFilter就是用于描述intent的各种属性, 比如action, category等

    一些属性设置的例子:

    <action android:name="com.example.project.SHOW_CURRENT" />

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

    <data android:mimeType="video/mpeg" android:scheme="http" . . . />

    <data android:mimeType="image/*" />

    <data android:scheme="http" android:type="video/*" />

    关于IntentFilter的几点注意事项

    (1).android.intent.action.MAIN 与 android.intent.category.LAUNCHER

    android.intent.action.MAIN决定一个应用程序最先启动那个组件

    android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里(说白了就是是否在桌面上显示一个图标)

    这两个属性组合情况:

    第一种情况:有MAIN,无LAUNCHER,程序列表中无图标

    原因:android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里 

    第二种情况:无MAIN,有LAUNCHER,程序列表中无图标

    原因:android.intent.action.MAIN决定应用程序最先启动的Activity,如果没有Main,则不知启动哪个Activity,故也不会有图标出现

    所以这两个属性一般成对出现。

    如果一个应用中有两个组件intent-filter都添加了android.intent.action.MAIN和

    android.intent.category.LAUNCHER这两个属性, 则这个应用将会显示两个图标, 写在前面的组件先运行。

    (2).关于隐式intent

      每一个通过 startActivity() 方法发出的隐式 Intent 都至少有一个 category,就是 "android.intent.category.DEFAULT",所以只要是想接收一个隐式 Intent 的 Activity 都应该包括 "android.intent.category.DEFAULT" category,不然将导致 Intent 匹配失败.

    比如说一个activity组件要想被其他组件通过隐式intent调用, 则其在manifest.xml中的声明如下:

    <activity android:name="com.gesture.QGestureListActivity">

         <intent-filter>  

               <action android:name="com.google.test" />

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

     </intent-filter> 

    </activity>

    (3).关于intent-filter匹配优先级

    首先查看Intent的过滤器(intent-filter),按照以下优先关系查找:action->data->category

    (4).android.intent.category.LAUNCHER与android.intent.category.HOME的区别

    android.intent.category.LAUNCHER:android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里,就是android开机后的主程序列表。

    android.intent.category.HOME:按住“HOME”键,该程序显示在HOME列表里。

  • 相关阅读:
    IOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry) 转载
    iOS8.0 使用Photos.framework对相册的常用操作
    iOS 通用button 上图下字
    navigationItem的设置和titleView的设置
    iOS 设置导航栏 返回按钮文字隐藏
    iOS uitableivewCell 下划线顶格
    gitlab创建项目代码:
    iOS block用作属性封装代码
    iOS实录:GCD使用小结(一)
    代码处理 iOS 的横竖屏旋转
  • 原文地址:https://www.cnblogs.com/feng9exe/p/5946768.html
Copyright © 2020-2023  润新知