Android 清除数据
16lz
2021-01-23
利用反射机制清除数据:设置->应用程序->应用名->
准备条件:
IPackageDataObserver.aidl
IPackageStatsObserver.aidl
PackageStats.aidl
清除数据:
ActivityManager am = (ActivityManager) getActivity().getSystemService(Context.ACTIVITY_SERVICE);am.clearApplicationUserData(packageName, mClearDataObserver);
清除缓存:
Method getPackageSizeInfo = pm.getClass().getMethod("getPackageSizeInfo", String.class, IPackageStatsObserver.class); List<ApplicationInfo> application = new ArrayList(); application = pm.getInstalledApplications(0); for(int i=0;i<application.size();i++) { ApplicationInfo app = application.get(i); getPackageSizeInfo.invoke(pm, app.packageName, new IPackageStatsObserver.Stub() { @Override public void onGetStatsCompleted(PackageStats pStats, boolean succeeded) throws RemoteException { if(pStats.cacheSize != 0) { cacheSize += pStats.cacheSize; Log.e(TAG, "cacheSize: " + pStats.packageName + " ;" + pStats.cacheSize); } } }); }
更多相关文章
- Android 中关于 【Cursor】 类的介绍、数据库和设计模式
- android中向通过contentProvider向数据库中插入数据的实现
- Android - 服务器json数据交互.
- android 数据库 数据倒序排列
- android之线程访问网络并解析数据
- Android异步加载图片并缓存到内存和SD卡上
- Android 用Retrofit进行网络获取数据,recyclerview进行展示在Frag
- android如何建立数据库。(如何重写SQLiteOpenHelper)
- Android SQLite 数据库、表的增、删、改、查操作