新开启个线程来做获取,否则可能因为在主线程时间太长导致获取不全
new Thread(new Runnable() {
@Override
public void run() {
PackageManager packageManager = getPackageManager();
List<PackageInfo> installedPackages = packageManager.getInstalledPackages(0);
for (PackageInfo packageInfo : installedPackages){
ApplicationInfo applicationInfo = packageInfo.applicationInfo;
if ((applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0){
Log.v("fancy",applicationInfo.loadLabel(packageManager).toString()+"====="+applicationInfo.packageName);
}
}
}
}).start();
网友评论