获取应用列表:
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);
}