jakiegoś konkretnego wymogu jestem zobowiązany do zmiany Android domyślnej aplikacji Home z mojego dostosowanych aplikacji Home (ustawienie wewnątrz mojej aplikacji, która przełącza domyślny główna = mój wniosek lub poprzedniego domu)Android: zmiana domyślnego Home Zastosowanie
Nie chcę, aby użytkownik poruszał się po ustawieniach Androida, które są bardzo skomplikowane.
Może ktoś mi pomóc jak gdzie rejestruje launcher.apk dla domyślnego zastosowania w domu lub jak to zmienić
Jedyne co udało mi się znaleźć to, że stare pytanie: How to change default Android's Desktop application?
ale żadnych odpowiedzi w ogóle.
Widziałem HomeSwitcher na rynku, który robi lewę, ale brak odpowiedzi dla programisty, który z pewnością byłby zajęty.
EDIT
Znalazłem w internecie http://www.mail-archive.com/[email protected]/msg74167.html
Ale mam ten sam problem:
To jest mój kod:
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);
Mam zestaw android.permission.SET_PREFERRED_APPLICATIONS
w manifeście . Po wykonaniu powyższego kodu dzienniki zgłaszają, że rzeczy zostały dodane zgodnie z oczekiwaniami (takie same dzienniki, jak w przypadku odznaczenia opcji "Ustaw jako domyślną" z listy IntentResolver). Jednak, kiedy przystąpić klikając domu, lista nadal pokazuje się i loguje powiedzieć:
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
Więc wydaje się, że rezolwer usuwa pozycję domyślną. Czy robię coś złego, czy to jest środek bezpieczeństwa? Jakie są za tym pomysły ?
Jestem całkiem pewien, że nie może zmusić użytkownika do korzystania z intencję jako domyślny dla niczego - powinien być zawsze ich wybór. Zarejestrowanie go jako zamiaru Home powinno wystarczyć, aby użytkownik otrzymał okno dialogowe z zapytaniem, którą aplikację domową chce uruchomić. –
To nie jest możliwe, O ile nie pracujesz z podstawową kompilacją dla telefonu, a nawet wtedy jest to nadal ryzykowne. Zastanów się, czy powiedzieć swojemu requesterowi NIE. Ponieważ nie jest to oczekiwane zachowanie z perspektywy aplikacji. – JoxTraex