获取应用列表:
List<PackageInfo> packages = getPackageManager().getInstalledPackages(0); for (PackageInfo i : packages) { if ((i.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) { this.packages.add(i); } }
应用信息:
iv.setImageDrawable(info.applicationInfo.loadIcon(context.getPackageManager())); tv.setText(info.applicationInfo.loadLabel(context.getPackageManager()));
卸载应用:
public void uninstall(PackageInfo info){ Intent intent = new Intent(); intent.setAction(Intent.ACTION_DELETE); intent.setData(Uri.parse(String.format("package:%s", info.packageName))); startActivity(intent); }
安装应用:
public void install(View v){ Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); File file = new File(Environment.getExternalStorageDirectory(),"XXX.apk"); intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive"); startActivity(intent); }
应用信息:
/** * 应用信息 * @param info */ private void toAppInfo(PackageInfo info) { Uri uri = Uri.parse("package:" + info.packageName);// 包名,指定该应用 Intent intent = new Intent("android.settings.APPLICATION_DETAILS_SETTINGS", uri); startActivity(intent); }