Android實現快捷卸載第三方應用
1、需要的權限:
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
2、獲取所有應用:
public List<ResolveInfo> getAllPagckage(Context context) { PackageManager pm = context.getPackageManager(); Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); // 通過查詢,獲得所有ResolveInfo對象. List<ResolveInfo> resolveInfoList = pm.queryIntentActivities( mainIntent, PackageManager.GET_GIDS); // 調用系統排序,根據name排序 Collections.sort(resolveInfoList, new ResolveInfo.DisplayNameComparator(pm)); return resolveInfoList; }
3、過濾出第三方應用:
private void filterPackage(List<ResolveInfo> allPackageList) { if (!allPackageList.isEmpty()) { list.clear(); int size = allPackageList.size(); ResolveInfo resolveInfo = null; for (int i = 0; i < size; i++) { resolveInfo = allPackageList.get(i); // 第三方應用 if((resolveInfo.activityInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) { list.add(resolveInfo); } } } }
4、卸載:
(注:1、兩種方式均可;2、appPackage為resolveInfo.activityInfo.packageName)
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!