微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。