qq_27061049
放大的EZ
2017-02-20 05:30
采纳率: 90.9%
浏览 2.4k

如何在android中添加代码,开机清除指定APK缓存数据

请问如何在android 源码中添加代码 ,推出APk时或者开机重启时能自动清除相应APK的缓存文件。
如chrome。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • shen_wei
    shen_wei 2017-02-20 07:49
    已采纳
    点赞 评论
  • ljheee
    ljheee 2017-02-20 07:54

    注册广播接收器,接收开机广播

    /** * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * * @param context /

    public static void cleanInternalCache(Context context) {

    deleteFilesByDirectory(context.getCacheDir());

    }

    /
    * * 清除本应用所有数据库(/data/data/com.xxx.xxx/databases) * * @param context /

    public static void cleanDatabases(Context context) {

    deleteFilesByDirectory(new File("/data/data/" + context.getPackageName() + "/databases"));

    }

    /
    * * 清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs) * * @param context /

    public static void cleanSharedPreference(Context context) {

    deleteFilesByDirectory(new File("/data/data/" + context.getPackageName() + "/shared_prefs"));

    }

    /
    * * 按名字清除本应用数据库 * * @param context * @param dbName /

    public static void cleanDatabaseByName(Context context, String dbName) { context.deleteDatabase(dbName);

    }

    /
    * * 清除/data/data/com.xxx.xxx/files下的内容 * * @param context /

    public static void cleanFiles(Context context) {

    deleteFilesByDirectory(context.getFilesDir());

    }

    /
    * * 清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache) * * @param context /

    public static void cleanExternalCache(Context context) {

    if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) {

    deleteFilesByDirectory(context.getExternalCacheDir());

    }

    }

    /
    * * 清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除 * * @param filePath /

    public static void cleanCustomCache(String filePath) {

    deleteFilesByDirectory(new File(filePath));

    }

    /
    * * 清除本应用所有的数据 * * @param context * @param filepath */

    public static void cleanApplicationData(Context context, String... filepath) {

    cleanInternalCache(context);

    cleanExternalCache(context);

    cleanDatabases(context);

    cleanSharedPreference(context);

    cleanFiles(context);

    for (String filePath : filepath) {

    cleanCustomCache(filePath);

    }

    }

    点赞 评论

相关推荐