对于某些特定要求
我需要更改 Android 默认主页应用程序
使用我的自定义主页应用程序(我的应用程序内的一个设置,将切换默认主页=我的应用程序或以前的主页)
我不希望用户进行非常复杂的 Android 设置。
任何人都可以帮我解决一下它在哪里注册 launcher.apk 默认情况吗
家庭应用程序或如何更改它
我唯一能找到的是那个老问题:如何更改默认的 Android 桌面应用程序? https://stackoverflow.com/questions/3204369/how-to-change-default-android-desktop-application
但根本没有答案。
我在市场上看到 HomeSwitcher 可以做到这一点,但对于可能很忙的开发人员来说没有答案。
EDIT
我在网上找到了这个http://www.mail-archive.com/[电子邮件受保护]/msg74167.html http://www.mail-archive.com/android-developers@googlegroups.com/msg74167.html
但我遇到了同样的问题:
这是我的代码:
private void makePreferred() {
PackageManager pm = getPackageManager();
IntentFilter f = new IntentFilter("android.intent.action.MAIN");
f.addCategory("android.intent.category.HOME");
f.addCategory("android.intent.category.DEFAULT");
ComponentName cn = new ComponentName("com.example.android.home", "com.example.android.home.Home");
pm.addPreferredActivity(f, IntentFilter.MATCH_CATEGORY_EMPTY, null, cn);
我有android.permission.SET_PREFERRED_APPLICATIONS
设置在
显现。执行上面的代码后,日志声称事情已经发生
按预期添加(与我勾选“设为默认”时相同的日志)
来自 IntentResolver 的列表)。然而,当我继续点击主页时,
该列表仍然显示,日志显示:
INFO/PackageManager(52): Result set changed, dropping preferred
activity for Intent { act=android.intent.action.MAIN cat=
[android.intent.category.HOME] flg=0x10200000 } type null
所以看来解析器删除了默认条目。我在做吗
出了什么问题,或者这是一种安全措施?有什么想法
这背后?