[英]How to uninstall apps in android programmatically with PackageInstaller
I have created a simple android uninstaller app that helps to remove multiple apps at once.我创建了一个简单的 android 卸载程序应用程序,它有助于一次删除多个应用程序。 I use this code to accomplish this task:我使用此代码来完成此任务:
Uri uri = Uri.fromParts("package", app.getPackageName(), null);
Intent intent = new Intent(Intent.ACTION_UNINSTALL_PACKAGE, uri);
// store result
intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
startActivityForResult(intent, 1);
But now, according to this android doc , ACTION_UNINSTALL_PACKAGE
is deprecated in API level 29 and it's recommended to use PackageInstaller.uninstall(String, IntentSender)
instead.但是现在,根据这个android doc , ACTION_UNINSTALL_PACKAGE
在 API 级别 29 中已弃用,建议改用PackageInstaller.uninstall(String, IntentSender)
。 I want to use this new api but I can't find any good example on how this is implemented.我想使用这个新的 api,但我找不到任何关于如何实现的好例子。 Any help is appreciated thanks.感谢任何帮助。
You can refer to this link你可以参考这个链接
https://www.programcreek.com/java-api-examples/index.php?api=android.content.pm.PackageInstaller https://www.programcreek.com/java-api-examples/index.php?api=android.content.pm.PackageInstaller
and implement like this -并像这样实施 -
@Override
public void uninstall(String packageName, String callerPackageName, int flags, IntentSender statusReceiver, int userId) throws RemoteException {
boolean success = VAppManagerService.get().uninstallPackage(packageName);
if (statusReceiver != null) {
final Intent fillIn = new Intent();
fillIn.putExtra(PackageInstaller.EXTRA_PACKAGE_NAME, packageName);
fillIn.putExtra(PackageInstaller.EXTRA_STATUS, success ? PackageInstaller.STATUS_SUCCESS : PackageInstaller.STATUS_FAILURE);
fillIn.putExtra(PackageInstaller.EXTRA_STATUS_MESSAGE, PackageHelper.deleteStatusToString(success));
fillIn.putExtra("android.content.pm.extra.LEGACY_STATUS", success ? 1 : -1);
try {
statusReceiver.sendIntent(mContext, 0, fillIn, null, null);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.