我正在处理TrafficStats Api,并使用以下代码获取有关所有Android应用程序的信息:
for (ApplicationInfo info : packageManager.getInstalledApplications(0)) {
int uid = info.uid;
CharSequence AppName = packageManager.getApplicationLabel(info);
String packageManager = packageManager.packageManager.getNameForUid(uid).split(":")[0]; }
但是当我记录了这三个变量时,得到的结果令人困惑。它们都不是唯一的。对于相同的Uid,有许多应用程序,并且在相同的包名称下,也有许多应用程序。请参见下面的日志输出:
AppName is:Phone UID:1001 package: android.uid.phone
AppName is:DM Command Service UID:1001 package: android.uid.phone
AppName is:Dialer Storage UID:1001 package: android.uid.phone
AppName is:SIM Toolkit UID:1001 package: android.uid.phone
那么,如何识别应用程序呢?