好久没有做Adroid项目开发了,临时需要开发一个APK.
客户要求该APK作为launcher存在,折腾了一些时间,特此记录以免忘了。
按照网络上的要求,添加
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.HOME" />
此时按Home,确实能出现选择launcher的对话框,但是勾选了默认后,重新开机缺省仍然是原来的launcher.
呆了,赶紧上网搜索方案。
其中大家说的比较多的方案是,增加SET_PREFERRED_APPLICATIONS权限,
可这个需要用终端认证信息签名才行,
我开发的只是APK,纯第三方,不该依赖终端, 果断放弃这个方案尝试。
突然想起以前用过第三方桌面的,赶紧下了个Go桌面,真的能变成缺省的launcher,看来别人都是没问题。
我的跟Go,到底差别在哪里?反编译Go桌面,复杂的,也看不出来啥。
灵光一闪,刚开机时弹出来的选择框有Go桌面但是没有我的APK,这个到底是为啥呀。
抓日志查看,搜索"scan package",嗯,找到了原launcher跟go,但是没有我的APK, 那我的APK在哪,
继续往下查看, 原来我的APK在SD卡的。尝试将我的APK移到内部存储中,居然真的成功了,开机就是我的APK了。
这就简单了,在配置文件中加入缺省安装路径选项就行。
android:installLocation="internalOnly"
终于,大功告成了,这么个小东西也折腾了好一阵子,看来太久没用都生疏了。