Metti qualsiasi applicazione sullo sfondo in Android
-
12-12-2019 - |
Domanda
So come mettere qualsiasi applicazione in primo piano, ma ora metterebbe qualsiasi applicazione sullo sfondo.Cioè ogni applicazione che voglio. Ho cercato molto su Google ma non ho trovato una soluzione. Hai idea di come? Ho provato a visualizzare la casa ma non funziona:
Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);
.
Grazie mille in anticipo.
Ecco il mio codice tutto (è un codice di prova), lancio app Map e voglio subito dopo, mettendolo in backgroud:
List<ResolveInfo> pkgAppsList = retreivedAllApplicationsInstalled();
ActivityManager actMngr = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<RunningAppProcessInfo> runningAppProcesses = actMngr.getRunningAppProcesses();
for (RunningAppProcessInfo pi : runningAppProcesses) {
String[] testPklist = pi.pkgList;
if(pi.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND){
for(String tp : testPklist){
if(tp.equals("com.google.android.apps.maps")){
//launch map application
Intent i = new Intent(Intent.ACTION_MAIN);
PackageManager manager = getPackageManager();
i = manager.getLaunchIntentForPackage("com.google.android.apps.maps");
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
}
}
}
}
//try to put back all applications on displaying home
Intent back = new Intent(Intent.ACTION_MAIN);
back.addCategory(Intent.CATEGORY_HOME);
startActivity(back);
. Soluzione
Se vuoi che la tua app venga eseguita in background dovresti usare qualcosa chiamato Servizio .Puoi trovare maggiori informazioni sul link.Ma ricorda che il processo di sfondo drena la batteria, quindi usarlo con cura.
Altri suggerimenti
Penso di capire il problema nel mio codice: Gestisco un'attività 'Mappa', che esegue e poi il mio codice qui sotto (da mettere in background) non viene mai lanciato .......