android.intent.category.DEFAULT和LAUNCHER
1、要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent。
Explicit Intent明确的指定了要启动的Acitivity ,比如以下Java代码:
Intent intent= new Intent(this, B.class)
Implicit Intent没有明确的指定要启动哪个Activity ,而是通过设置一些Intent Filter来让系统去筛选合适的Acitivity去启动。
2、intent到底发给哪个activity,需要进行三个匹配,一个是action,一个是category,一个是data。
理论上来说,如果intent不指定category,那么无论intent filter的内容是什么都应该是匹配的。但是,如果是implicit intent,android默认给加上一个CATEGORY_DEFAULT,这样的话如果intent filter中没有android.intent.category.DEFAULT这个category的话,匹配测试就会失败。所以,如果你的 activity支持接收implicit intent的话就一定要在intent filter中加入android.intent.category.DEFAULT。
例外情况是:android.intent.category.MAIN和android.intent.category.LAUNCHER的filter中没有必要加入android.intent.category.DEFAULT,当然加入也没有问题。
我们定义的activity如果接受implicit intent的话,intent filer就一定要加上android.intent.category.DEFAULT这个category。
android.intent.category.LAUNCHER 具体有什么作用?我在xml里面加和不加 感觉没什么区别啊。谁能解释下!
<activity android:name="APAct"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter> </activity> <activity android:name="URLAct"><intent-filter><category android:name="android.intent.category.LAUNCHER" /></intent-filter> </activity>
一个应用程序可以有多个Activity,每个Activity是同级别的,那么在启动程序时,最先启动哪个Activity呢?有些程序可能需 要显示在程序列表里,有些不需要。怎么定义呢?android.intent.action.MAIN决定应用程序最先启动的Activity android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
因为你的程序可能有很多个activity 只要xml配置文件中有这么一个intent-filter,而且里面有这个launcher,那么这个activity就是点击程序时最先运行的那个activity。
现在你只有一个activity,那么加不加就没有关系了。
用于模拟器启动时设置为默认打开为的activity
android.intent.category.DEFAULT和LAUNCHER相关推荐
- 什么时候加上android.intent.category.DEFAULT和LAUNCHER
转自:http://blog.csdn.net/ccccdddxxx/article/details/7843070 1.要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什 ...
- (转)什么时候加上android.intent.category.DEFAULT和LAUNCHER
1.要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent. Explicit Intent明确的指定了要启动的Acitivity , ...
- android之android.intent.category.DEFAULT的用途和使用
1.要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent. Explicit Intent明确的指定了要启动的Acitivity , ...
- category android:name=android.intent.category.DEFAULT / 惹的祸
今天我自己定义了Intent的Action,可在把这个Action写入manifest的时候,没有注意到需要加入<category android:name="android.inte ...
- (转)理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER
其中Android.intent.action.MAIN 与 android.intent.category.LAUNCHER 决定应用程序在luncher中的显示方式: 两者的作用如下: andro ...
- 【错误记录】Android 应用安装后出现两个启动图标 ( 排查应用及依赖库中配置了 android.intent.category.LAUNCHER 的 Activity )
文章目录 一.报错信息 二.解决方案 一.报错信息 Android 应用安装后 , 出现两个相同的启动图标 , 其中一个可以启动 , 另外一个启动后 , 直接崩溃 ; 卸载其中一个 , 会将整个应用卸 ...
- Android --- android.intent.action.MAIN 与 android.intent.category.LAUNCHER常用的几种情况
第一种情况: 有MAIN,无LAUNCHER,程序列表中无图标 原因:android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里 第二种情况: 无MAIN,有LA ...
- 理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER
android.intent.action.MAIN决定应用程序最先启动的Activity android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里 所以: 如 ...
- $ adb shell am start -n “com.***“ -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
android studio 4.2.2 Kotlin运行apk报错提示: $ adb shell am start -n "com.demo.test/com.demo.test.Main ...
最新文章
- C语言面试基础知识整理
- ROS自定义地图(CAD、手绘等)
- rtx3080 pytorch cuda_最不值得买的高端显卡!RTX3080从真香变成了鸡肋?|显卡|amd|RTX3080...
- ajax请求flask以后得到的响应查看
- Delphi中如何将一个extended型等实数强制转换为integer型
- 用python来获取Github IP地址
- Atitit js canvas的图像处理类库attilax总结与事业
- 定时任务corn表达式设置
- PSnbsp;08人物抠图
- vs2019python使用教程_vs2019安装和使用详细图文教程
- python当前时间获取_python 当前时间获取方法
- Java中undefined是什么意思,Haskell中的undefined和Java中的null有什么区别?
- 无线ap安全dhcp服务器,AC+AP时代——办公区内满足安全性又够人性化的WiFi漫游设置攻略...
- 计算机硬件系统维护经验与体会,计算机操作系统维护与优化的实训报告心得体会.docx...
- vaild-palindrome
- 复杂的1秒 图解Google搜索技术
- 横冲直撞html5,6系横冲直撞 5系列最后的疯狂
- 图像超分辨率重构实战
- 互联网招聘的阴阳两极
- 结构体 7.公共钥匙盒
热门文章
- python转go感觉难_读《我为什么从python转向go》的一些感受
- DOS常用网络相关命令
- win7安装git客户端和简单配置
- 银屑病与肠道菌群(调研手稿二)
- flink的TimeCharacteristic(转载)
- Hbase的WebUI中的RegionServers不显示集群机器域名
- linux下使用sed批量替换关键词(带斜杠处理+kaggle路径批量替换)
- Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 1
- 在mysql-workbench的存储过程中使用循环while,repeat,loop
- LibSVM 使用错误解决