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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!