나는 우리가 android:process
에 제공하는 것을 의미하고 패키지 나는 모든 실행중인 응용 프로그램의 응용 프로그램 이름을 얻고 싶었다프로세스 이름이 안드로이드의 패키지 이름과 동일합니까? 처리에 의해
<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);
}
}
당신은
ApplicationInfo android.content.pm.PackageManager.getApplicationInfo(String packageName, int flags) throws NameNotFoundException
PackageManager.getApplicationInfo
에 대한 문서를 볼 수 있지만 processName는 실행중인 프로세스의 이름입니다 내가processInfo.processName
을 전달하고합니다. 그래서 기본적으로 프로세스 이름을 패키지 이름으로 사용하여 응용 프로그램 정보를 얻습니다.
- 우선이 방법이 맞습니까?
- 두 번째로 우리가 활동/서비스 등에 대한 프로세스를 제공하지 않으면 패키지 이름과 동일한 이름으로 새로운 프로세스가 생성된다는 것은 사실입니까?