per qualche requisito specifico sono tenuto a cambiare Android predefinito applicazione Home con la mia domanda iniziale personalizzata (un ambiente all'interno del mio app che si alternerà iniziale predefinita = mia domanda o casa precedente)Android: il cambiamento di default casa Application
Non voglio che l'utente viaggi le impostazioni di Android che sono molto complicate.
uno può dare una mano come dove si registra launcher.apk per impostazione predefinita applicazione domestica o come cambiare la situazione
L'unica cosa che ho trovato è stato che vecchia domanda: How to change default Android's Desktop application?
ma nessuna risposta affatto.
Ho visto HomeSwitcher nel mercato che fa il trucco, ma nessuna risposta per lo sviluppatore che potrebbe certamente essere occupato.
EDIT
Ho trovato questo sul web http://www.mail-archive.com/[email protected]/msg74167.html
Ma ho avuto lo stesso problema:
questo è il mio codice:
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);
ho il set android.permission.SET_PREFERRED_APPLICATIONS
nel manifest . Dopo aver eseguito il codice sopra, i log affermano che è stato aggiunto come previsto (gli stessi registri di quando spuntano "Rendi predefinito" dall'elenco IntentResolver). Tuttavia, quando procedo cliccando casa, l'elenco mostra ancora in piedi ei registri dire:
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
così sembra il resolver elimina la voce predefinita. Sto facendo qualcosa di sbagliato, o si tratta di una misura di sicurezza? Quali sono le idee dietro a questo?
Sono abbastanza sicuro che non si può costringere un utente di utilizzare il vostro intento come impostazione predefinita per qualsiasi cosa - dovrebbe essere sempre la loro scelta. Registrarlo come intento domestico dovrebbe essere sufficiente per consentire all'utente di ottenere una finestra di dialogo che chiede quale app di casa desidera avviare. –
Questo non è possibile A MENO CHE tu stia lavorando con una build primaria per un telefono e anche allora è ancora rischioso. Considera di dire al tuo richiedente NO. Perché questo non è un comportamento atteso dal punto di vista di un'app. – JoxTraex