Poprzez proces Znaczy co oferujemy w android:process
oraz pakietu Znaczy pakiet wCzy nazwa procesu jest taka sama, jak nazwa pakietu w systemie Android?
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.osg.appkiller"
android:versionCode="1"
android:versionName="1.0" >
Więcej szczegółów Processes and Threads - Android Developer
chciałem dostać nazwy stosowania wszystkich uruchomionych aplikacji. Tak właśnie zrobiłem po przeanalizowaniu różnych źródeł (i to działa).
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);
}
}
Jeśli widzisz Dokumentacja dla PackageManager.getApplicationInfo
ApplicationInfo android.content.pm.PackageManager.getApplicationInfo(String packageName, int flags) throws NameNotFoundException
ale ja przechodząc
processInfo.processName
gdzie ProcessName jest nazwa biegu procesowego. Więc w zasadzie używamy nazwy procesu jako nazwy pakietu, aby uzyskać informacje o aplikacji.
- Po pierwsze czy to podejście jest prawidłowe?
- Po drugie, czy prawdą jest, że jeśli nie zapewniamy procesu dla działań/usług itp. Tworzony jest nowy proces o takiej samej nazwie jak nazwa pakietu?