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

前端之家收集整理的这篇文章主要介绍了进程名称是否与android中的包名相同?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
通过进程我的意思是我们在 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是进程运行的名称.所以我们基本上使用进程名称作为包名来获取应用程序信息.

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

解决方法

默认情况下,android将包名称作为进程名称.但是如果在清单文件android:process =“com.example.newprocessname”中的application标签中定义process属性,那么应用程序将使用此名称“com.example.newprocessname”运行.

至于你的问题,

> 1->在这种情况下,您的应用程序名称与默认包名称相同,这就是它的工作原理.尝试更改进程名称.它不起作用.
> 2->确实如此.这是默认的.请参阅以下链接中的“android:process”:https://developer.android.com/guide/topics/manifest/application-element.html

希望这能回答你的问题!

猜你在找的Android相关文章