0

アクティビティを開始するたびに、次のような uid、gid などに関する情報を取得します。

I/ActivityManager( 1986): Start proc app.processName for activity hostingNameStr: pid=3641 uid=10109 gids={3003, 1007}

PackageManager を使用して、packageName、uid、および pid を次のように取得できます。

List<ApplicationInfo> packages = pm
                .getInstalledApplications(PackageManager.GET_META_DATA);

for (ApplicationInfo packageInfo : packages) {
    Log.d("ME", "packageInfo is  :" + packageInfo);
    Log.d("ME", "Installed package :" + packageInfo.packageName);
    Log.d("ME", "Package process for " + packageInfo.packageName+"-->" + packageInfo.processName);
    Log.d("ME", "Package uid for " + packageInfo.packageName+"-->"+packageInfo.uid);
}

しかし、ここではgidを取得できないので、このようにgidを取得できるかどうか疑問に思っていました。

4

1 に答える 1

1

Processクラスによって提供されるメソッドを見てみてください。たとえば、あなたの場合getGidForName(String name)。int値、GIDを返しますが、すべてのGIDのリストを選択する方法がわかりません。

編集: 私はapplicationInfoと少し混乱していました。PackageManagerのメソッドgetPackageGids(String packageName)を使用するか、すべてのPackageInfoを取得してから、フィールドの値を読み取ることができますgids

于 2012-07-24T11:54:12.223 に答える