Con processo Voglio dire, che mettiamo a disposizione in android:process
e dal pacchetto intendo pacchetto nellaIl nome del processo è uguale al nome del pacchetto in Android?
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.osg.appkiller"
android:versionCode="1"
android:versionName="1.0" >
Maggiori dettagli Processes and Threads - Android Developer
ho voluto ottenere i nomi delle applicazioni di tutte le applicazioni in esecuzione. Quindi questo è quello che ho fatto dopo aver guardato varie fonti (e funziona).
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
PackageManager packageManager = getPackageManager();
final List<RunningAppProcessInfo> runningProcesses = activityManager.getRunningAppProcesses();
for(RunningAppProcessInfo processInfo : runningProcesses) {
CharSequence appName = null;
try {
appName = packageManager.getApplicationLabel(packageManager.getApplicationInfo(processInfo.processName, PackageManager.GET_META_DATA));
} catch (NameNotFoundException e) {
Log.e(TAG,"Application info not found for process : " + processInfo.processName,e);
}
}
Se vedi Documentazione per PackageManager.getApplicationInfo
ApplicationInfo android.content.pm.PackageManager.getApplicationInfo(String packageName, int flags) throws NameNotFoundException
ma sto passando
processInfo.processName
dove processName è il nome del processo in esecuzione. Quindi stiamo fondamentalmente usando il nome del processo come nome del pacchetto per ottenere informazioni sull'applicazione.
- Prima di tutto questo approccio è corretto?
- In secondo luogo è vero che se non forniamo il processo per attività/servizi, ecc. Viene creato un nuovo processo con lo stesso nome del nome del pacchetto?