Ani*_*kur 9 android process task activity-manager
通过流程我的意思是我们提供android:process的包装和包装我的意思是包装
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.osg.appkiller"
android:versionCode="1"
android:versionName="1.0" >
Run Code Online (Sandbox Code Playgroud)
我想获得所有正在运行的应用程序的应用程序名称 所以这就是我在查看各种来源后所做的事情(并且有效).
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);
}
}
Run Code Online (Sandbox Code Playgroud)
如果您看到PackageManager.getApplicationInfo的文档
ApplicationInfo android.content.pm.PackageManager.getApplicationInfo(String packageName, int flags) throws NameNotFoundException
Run Code Online (Sandbox Code Playgroud)
但我过世了
processInfo.processName
Run Code Online (Sandbox Code Playgroud)
其中processName是进程运行的名称.所以我们基本上使用进程名称作为包名来获取应用程序信息.
小智 10
默认情况下,android将包名称作为进程名称.但是,如果在清单文件中的应用程序标记中定义流程属性,android:process="com.example.newprocessname"则应用程序将以此名称"com.example.newprocessname"运行.
至于你的问题,
1->在这种情况下,您的应用程序名称与默认包名称相同,这就是它的工作原理.尝试更改进程名称.它不起作用.
2->那是真的.它是默认的.请参阅以下链接中的"android:process":https://developer.android.com/guide/topics/manifest/application-element.html
希望这能回答你的问题!