android 中 PackagerManager 类中 clearApplicationUserData() 的替代方法是什么?

问题描述

我需要清除提供的包名称的应用程序用户数据和缓存数据。以前我使用的是 PackageManager 类中的 clearapplicationUserData()、deleteApplicationCacheFiles() 方法。但现在两者都在 android 11 中被弃用或隐藏(@hide)。有什么替代方案?

下面是我以前的做法-

 PackageManager pm = mContext.getPackageManager();
 //observer is ->IPackageDataObserver
 pm.clearapplicationUserData(packageName,observer);

PackageManager pm = mContext.getPackageManager();
//observer is ->IPackageDataObserver
pm.deleteApplicationCacheFiles(packageName,observer);

相同的替代解决方案是什么?我知道有像 -

这样的方法
(mContext.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager).clearapplicationUserData()
//for clearing current application user data

mContext.getCacheDir().deleteRecursively() 
//for clearing current application cache data

但就我而言,它是另一个应用程序,我将提供包名称

我正在从 DevicePolicyManager 类中阅读 clearApplicationUserData(),但不确定它是如何工作的。有人可以帮我吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)