(原创)Android 清除第三方应用的数据缓存实现(包括清除系统应用缓存)

前言

最近公司有对安装好的应用的数据要求进行清理数据缓存需求,也就查找相关资料实现了,清除自身的缓存简单,但是要是想清除其他第三方应用这个就要消耗点精力了,因为android将clearApplicationUserData该接口给隐藏掉了,这只能通过反射来获取相关方法来实现。不多说,直接上代码。


代码

 ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
try {
            Class<?> amClass = Class.forName(am.getClass().getName());
 Method clearApp = amClass.getMethod("clearApplicationUserData", String.class, IPackageDataObserver.class);
            Log.d("MainActivity", "clearApp: " + clearApp.getName());
            clearApp.invoke(am, packageName, new IPackageDataObserver() {
                @Override
                public IBinder asBinder() {
                    return null;
                }

                @Override
                public void onRemoveCompleted(String packageName, boolean succeeded) throws RemoteExcepti
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值