美好的一天!
Android SDK中是否有一些工具可用于从活动中删除应用程序。特别是,我需要活动方法,删除具有相同应用程序名称的其他应用程序,但其他包。
答案 0 :(得分:0)
如果您的“同名应用程序”指的是具有相同标签的应用程序,并在XML清单中定义为应用程序的标签,则此代码应该有效:
private void deleteAppByActivityName(@NonNull String myAppLabel,@NonNull Context context){
try {
PackageManager pm = context.getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> dataInDevice = pm.queryIntentActivities(mainIntent, 0);
for (ResolveInfo resolveInfo : dataInDevice){
String label = resolveInfo.loadLabel(pm).toString();
if (label.equals(myAppLabel)) { //we find app with same name as ours
Intent intent = new Intent(Intent.ACTION_DELETE);
intent.setData(Uri.parse("package:" + resolveInfo.activityInfo.packageName));
context.startActivity(intent);
break;
}
}
}catch (ActivityNotFoundException e){
e.printStackTrace();
}
}