通过系统隐藏的api获取缓存,清理缓存
PackageManager隐藏下的api,只能通过反射来获取 1、获取缓存 public abstract void getPackageSizeInfo(String packageName, IPackageStatsObserver observer); public static abstract class Stub extends android.os.Binder implements android.content.pm.IPackageStatsObserver
{ }权限: <uses-permission android:name="android.permission.GET_PACKAGE_SIZE" /> //Stub是一个内部类,它实现了Binder,实现了 IPackageStatsObserver 2、清理缓存 public abstract void deleteApplicationCacheFiles(String packageName,
IPackageDataObserver observer); 权限: <uses-permission android:name="android.permission.DELETE_CACHE_FILES"/> 注意:只有系统应用,才能声明此权限,不能给第三方应用声明该权限 Not for use by third-party applications. 所以,这里的一键清理功能不能实现,因为此应用不是系统应用
|
核心代码:
|
|