Android学习 - android.intent.action.MAIN与android.intent.category.LAUNCHER理解
来源:互联网 发布:cgss卡牌数据库 编辑:程序博客网 时间:2024/05/22 02:08
先看看网路上的说法:
android.intent.action.MAIN决定应用程序最先启动的Activity
android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
通过实验后,发现MAIN与LAUNCHER并不是单纯的各管各的事情;我测试的结果是,如果一个应用没有LAUNCHER则该apk仍能安装到设备上,但是在桌面中图标中看不到。如果给那个Activity设定了LAUNCHER,且同时设定了Main,则这个Activity就可出现在程序图标中;如果没有Main,则不知启动哪个Activity,故也不会有图标出现。可见,Main指的是点击图标后启动哪个Activity。当然Main可以给多个Activity设定,但只设定Main不设定LAUNCHER,仍然无法进入activity。
可见Main和LAUNCHER同时设定才有意义,如果多个activity同时设定,则会出现两个图标,分别先进入不同的activity。如下图:Lift_cycles01与Lift_cycles 02
<activity android:name=".Life_CyclesActivity" android:label="Lift_cycles 01"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity><activity android:name="Life_CyclesActivity02" android:label="Lift_cycles 02"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity>
网上查了android.intent.action.MAIN的用法,有的说只能有一个,有的说有多个的话启动程序的时候会提示选择Activity,于是自己试验了一下,发现是默认启动第一个。
android.intent.action.MAIN标记了启动Application时先启动那个Activity,若有多个android.intent.action.MAIN,则先启动mainfest里面第一个出现的android.intent.action.MAIN
<activity android:name=".Activity01" android:label="@string/title_activity_activity01" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="Activity02" android:label="@string/title_activity_activity02"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
上例运行结果为启动activity01;
<activity android:name="Activity02" android:label="@string/title_activity_activity02"> <intent-filter> <action android:name="android.intent.action.ALL_APPS" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity><activity android:name=".Activity01" android:label="@string/title_activity_activity01" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
上例运行结果为启动activity02;
- 理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER
- 理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER
- 理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER
- 理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER
- Android学习 - android.intent.action.MAIN与android.intent.category.LAUNCHER理解
- android.intent.action.MAIN 与 android.intent.category.LAUNCHER
- android.intent.action.MAIN与android.intent.category.LAUNCHER
- android.intent.action.MAIN 与 android.intent.category.LAUNCHER
- android.intent.action.MAIN与android.intent.category.LAUNCHER
- android.intent.action.MAIN与android.intent.category.LAUNCHER
- android.intent.action.MAIN 与 android.intent.category.LAUNCHER
- android.intent.action.MAIN与android.intent.category.LAUNCHER
- android.intent.action.MAIN 与 android.intent.category.LAUNCHER
- android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解
- Android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解
- android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解
- android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解
- android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解
- 140 - The 12th Zhejiang Provincial Collegiate Programming Contest(2015浙江省赛---第三部分)
- Linux中断处理驱动程序编写
- 安装sqlserver2008的教训
- 面试题1
- 安卓学习资料——读《疯狂Android讲义》有感
- Android学习 - android.intent.action.MAIN与android.intent.category.LAUNCHER理解
- codeforces-#478B. Random Teams 排列组合
- uploadify上传图片(限制最多五张)
- c++播放音
- 04-树4. Search in a Binary Search Tree
- 多线程实现线程同步——事件对象
- synchronized(this)用法
- 编写求导函数的算法,利用原多项式的结点空间存放其异函数,同时释放所有无用节点
- 一道SQL面试题(行列互换)