对于一些具体要求
我需要更改Android Default Home应用程序
通过我自定义的Home应用程序(我的应用程序中的一个设置,将切换默认的home =我的应用程序或以前的家)
我不想让用户旅行Android设置非常复杂。
任何人可以帮助我,就像在哪里注册launcher.apk默认
家庭应用程序或如何改变
但根本没有答案。
我已经看到市场上的HomeSwitcher做的伎俩,但没有答案开发人员,可能肯定会很忙。
编辑
但是我遇到了同样的问题:
这是我的代码:
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
所以似乎解析器删除默认条目。我在做什么
这是一个安全措施吗?有什么想法
在这之后