android启动apk时是依据apk中Activity的intent-filter属性,在新建一个项目工程的时候,Eclipse就为这个工程的主Activity默认配置了intent-filter属性,如下:
<activity android:name="MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
所以,每次运行工程的时候,模拟器就直接启动了这个apk。我尝试了一下,如果将
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
这两个属性任意去掉一个或是两个都去掉的话,运行工程之后,模拟器是不会启动apk的,但是在应用程序管理里面,是能看到这个apk是被安装了的,但是在launcher上
却看不到该apk的图标。


现在为这个Activity添加<category android:name="android.intent.category.DEFAULT" />属性
<activity android:name="MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
运行apk之后,在launcher上和应用程序管理里面能看到这个apk,当长按home键之后,可切换到这个apk来启动(开机之后,也会弹出一个对话框让我们选择用哪一个apk作为launcher)
由此,可以得出,要想apk作为launcher启动的话,需要为其主Activity添加属性<category android:name="android.intent.category.DEFAULT" />

更多相关文章

  1. Android中tools属性的使用
  2. 史上最易懂的Android(安卓)jni开发资料--NDK环境搭建
  3. "Android中的动画"-Android面试必问"精华技能点"汇总
  4. Android(安卓)adb shell相关命令基本使用
  5. [Android(安卓)Studio] Gradle fails to resolve dependencies i
  6. android activity 属性解释
  7. 【Android】第4章(5) 示例--列出手机上的所有联系人
  8. 如何记忆Android模拟器中的快捷键
  9. 如何为Android,Mac和Windows平台创建Java JNI动态链接库

随机推荐

  1. android 动画之Scroller
  2. Android中Activity跳转和切换动画
  3. android判断是否禁用了录音权限
  4. Android(安卓)Gradle插件入门
  5. Android(安卓)Design Support Library使
  6. Android(java)学习笔记71:生产者和消费者之
  7. Android(安卓)Studio安装后不能启动的解
  8. android 开发笔记
  9. 【Android】对话框 AlertDialog
  10. Android(安卓)添加同名通讯录自动合并的