/**
* 获取已安装的应用的安装包
* @author Jason
*
*/
private class GetApksTask extends AsyncTask<Void, Void, List<App>> {
@Override
protected List<App> doInBackground(Void... params) {
List<App> apps = new ArrayList<App>();
PackageManager pm = getPackageManager();
List<ApplicationInfo> applicationInfos = pm.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo applicationInfo : applicationInfos) {
if ((applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0 && (applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 0) {
// 非系统应用
App app = new App();
// 图标
app.setAppIcon(((BitmapDrawable) applicationInfo.loadIcon(pm)).getBitmap());
// 应用程序名称
app.setAppName(applicationInfo.loadLabel(pm).toString());
// 应用程序包名
app.setAppPackageName(applicationInfo.packageName);
// 应用路径
app.setPath(applicationInfo.publicSourceDir);
apps.add(app);
}
}
return apps;
}
@Override
protected void onPostExecute(List<App> apps) {
super.onPostExecute(apps);
appList.addAll(apps);
mAppAdapter.notifyDataSetChanged();
cancelProgress();
}
}
安卓开发获取已安装的应用
最新推荐文章于 2024-09-21 12:07:15 发布
1587

被折叠的 条评论
为什么被折叠?



