По процессу я имею в виду, что мы предлагаем в android:process
и пакете я имею в виду пакета вИмя процесса совпадает с именем пакета в android?
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.osg.appkiller"
android:versionCode="1"
android:versionName="1.0" >
Более подробной информации Processes and Threads - Android Developer
Я хотел бы получить список приложений все запущенных приложений. Так вот что я сделал после просмотра различных источников (и это работает).
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);
}
}
Если вы видите документацию для PackageManager.getApplicationInfo
ApplicationInfo android.content.pm.PackageManager.getApplicationInfo(String packageName, int flags) throws NameNotFoundException
, но я передаю
processInfo.processName
где ProcessName это имя процесса бега. Поэтому мы в основном используем имя процесса в качестве имени пакета для получения информации о приложении.
- В первую очередь, этот подход правильный?
- Во-вторых, верно ли, что если мы не предоставляем процесс для деятельности/услуг и т. Д., Новый процесс создается с тем же именем, что и имя пакета?