问题一:
今天遇到一个问题,就是一个Launcher apk源码,在eclipse中能正常编译运行,也可以push到平台中正常运行。但是把code放在Android中去编译系统,升级开机后却发现它只能作为普通的apk使用,而不是作为Launcher。
遇到问题后,首先是查看Manifest文件中MAIN Activity的
<intent-filter>
中是否有
<category android:name="android.intent.category.HOME" />
因为要作为Launcher起来,必须有
category.HOME
。在Manifest文件中有这个属性。
由于没有注意其它的category属性,导致在debug半天后,回过头来检查时才发现,在
MAIN Activity的
<intent-filter>
中没有
<category android:name="android.intent.category.DEFAULT" />
问题二:在二次开发Launcher时,发现了一个点击事件没有作用,分析到Intent等都是OK的,但是一直提示找不到相应的
Activity,最后发现也是对应的Activity的
<intent-filter>
中没有
<category android:name="android.intent.category.DEFAULT" />
android.intent.category.DEFAULT:默认的
category
当程序创建Intent时,该Intent默认启动category属性值为Intent.CATEGORY_DEFAULT(
android.intent.category.DEFAULT
)常量的组件,因此在进行隐式调用启动Activity时,对应的Activity的
<
intent-filter
>
配置中要包含
<category android:name="android.intent.category.DEFAULT" />