для некоторых конкретных требований
Требуется изменить приложение Android по умолчанию для дома
с моим настраиваемым домашним приложением (настройка внутри моего приложения, которая будет переключать домашнюю страницу по умолчанию = мое приложение или предыдущий домашний)
Я не хочу, чтобы пользователь перемещал слишком сложные настройки Android.
Может ли кто-нибудь помочь мне, например, где он регистрирует launcher.apk по умолчанию
домашнее приложение или как это изменить
Единственное, что я смог найти, это старый вопрос: Как изменить стандартное приложение Android для рабочего стола?
но ответов нет вообще.
Я видел HomeSwitcher в Маркете, который делает свое дело, но нет ответа для разработчика, который наверняка будет занят.
EDIT
Я нашел это в Интернете 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
Так что, похоже, распознаватель удаляет запись по умолчанию. Я делаю
что-то не так или это мера безопасности? Какие есть идеи
за этим?