对于一些特定的要求 我需要改变Android的默认主页应用 与我的个性主页的应用程序(我的应用程序内的设置,将切换默认主页=我的应用程序或以前的家)安卓:更改默认主页应用
我不希望用户移动非常复杂的android设置。
任何一个可以帮助我喜欢在那里注册launcher.apk默认 家庭应用或者如何更改
我能找到的唯一的事情就是那个老问题:How to change default Android's Desktop application?
,但没有答案在所有。
我已经看到了HomeSwitcher在市场上做的伎俩,但没有回答开发人员可能一定会很忙。
编辑
,我发现这个网页http://www.mail-archive.com/[email protected]/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
如此看来解析器删除默认项。我在做 有什么问题,或者这是安全措施?这背后有什么想法 ?
我敢肯定你不能强迫用户使用你的意图,作为默认的任何东西 - 它应该永远是他们的选择。将其注册为家庭意图应该足以让用户获得询问他们想要启动哪个家庭应用程序的对话。 – 2010-11-05 15:34:17
这是不可能的,除非你正在使用手机的主要版本,甚至还有风险。考虑告诉你的请求者没有。因为这不是从应用程序的角度来看的行为。 – JoxTraex 2012-01-29 07:39:27