【问题标题】:How to delete folders from SDCard during uninstalling of my app in Android?在 Android 中卸载我的应用程序期间如何从 SDCard 中删除文件夹?
【发布时间】:2012-03-19 19:36:33
【问题描述】:

我经历了以下link,它说外部文件夹将在我的应用程序卸载期间自动删除。

我正在使用以下代码来创建文件夹和文件:

private static String TEMP_FOLDER_PATH = Environment.getExternalStorageDirectory() + "/myAppFolder/";

我的问题是当我卸载应用程序时文件夹 myAppFolder 没有被删除。

我哪里出错了?

【问题讨论】:

    标签: android storage external directory


    【解决方案1】:

    将其保存在您的应用程序私人文件夹 (/data/data/yourappPackege) 中。卸载应用程序时,此文件夹将被删除。
    您可以使用方法getFilesDir() 获取您的私人文件夹 其他文件无法删除,因为您的应用不“知道”何时删除。

    【讨论】:

    • 这行得通,谢谢你我唯一需要做的就是通过附加 /Android/data/myappPackage 来更改路径名
    【解决方案2】:

    嘿,链接说如果您使用 getExternalCacheDir(),那么在卸载应用程序时只会自动删除文件夹。所以请纠正自己。如果您使用的是 getExternalStorageDirectory ,则必须通过编程手动删除该文件夹

    要删除文件夹,您可以使用以下代码

    String TEMP_FOLDER_PATH = Environment.getExternalStorageDirectory() + "/myAppFolder/";

        File f1=new File(TEMP_FOLDER_PATH);
        f1.delete();
    

    【讨论】:

    • 我如何以编程方式执行此操作.. 我是你的情况,当我的应用程序被卸载时,如何从 sdcard 中删除文件夹
    • 没关系...谢谢,但我如何检测应用程序何时卸载
    【解决方案3】:

    没有。卸载App时,Android操作系统不会删除该App对应的SDCard文件。

    【讨论】:

      【解决方案4】:

      查看此作品以进行删除

          public static boolean deleteDirectory(File path) {
      if( path.exists() ) {
        File[] files = path.listFiles();
        if (files == null) {
            return true;
        }
        for(int i=0; i<files.length; i++) {
           if(files[i].isDirectory()) {
             deleteDirectory(files[i]);
           }
           else {
             files[i].delete();
           }
        }
      }
      return( path.delete() );
      

      }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-31
        • 2012-08-04
        • 2011-06-26
        相关资源
        最近更新 更多