进程名称是否与android中的包名相同?

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)

更多细节进程和线程 - Android开发人员

我想获得所有正在运行的应用程序的应用程序名称 所以这就是我在查看各种来源后所做的事情(并且有效).

    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是进程运行的名称.所以我们基本上使用进程名称作为包名来获取应用程序信息.

  1. 首先是这种方法是正确的吗?
  2. 其次,如果我们不为活动/服务等提供流程,那么创建与包名相同名称的新流程是真的吗?

小智 10

默认情况下,android将包名称作为进程名称.但是,如果在清单文件中的应用程序标记中定义流程属性,android:process="com.example.newprocessname"则应用程序将以此名称"com.example.newprocessname"运行.

至于你的问题,

希望这能回答你的问题!