Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用我的应用程序从SD卡删除文件';在我重新启动或卸载并装载sd卡之前,是否不影响?_Android - Fatal编程技术网

Android 使用我的应用程序从SD卡删除文件';在我重新启动或卸载并装载sd卡之前,是否不影响?

Android 使用我的应用程序从SD卡删除文件';在我重新启动或卸载并装载sd卡之前,是否不影响?,android,Android,我正在编写一个应用程序,使用户可以通过SMS命令删除特定目录。一切都很好。当我去安卓GALARY时,所有被删除的图像都在安卓GALARY中出现,所有的图像都非常模糊。当我使用像Astro这样的文件管理软件时,我的目录被删除了。但是带有目录的图像仍然可以在galary中显示。当我将设备插入pc时,有趣的是,我仍然可以看到已删除的目录,但我无法打开它。我想图像显示它们都已损坏。有趣的是,当我重新启动设备时或卸载和重新安装SD卡删除的图像不再显示。原因是什么?如何防止在galary中显示损坏的图像。到

我正在编写一个应用程序,使用户可以通过SMS命令删除特定目录。一切都很好。当我去安卓GALARY时,所有被删除的图像都在安卓GALARY中出现,所有的图像都非常模糊。当我使用像Astro这样的文件管理软件时,我的目录被删除了。但是带有目录的图像仍然可以在galary中显示。当我将设备插入pc时,有趣的是,我仍然可以看到已删除的目录,但我无法打开它。我想图像显示它们都已损坏。有趣的是,当我重新启动设备时或卸载和重新安装SD卡删除的图像不再显示。原因是什么?如何防止在galary中显示损坏的图像。到目前为止,我的代码

public static void delete(File file)
        throws IOException{

        if(file.isDirectory()){

            //directory is empty, then delete it
            if(file.list().length==0)
            {

               file.delete();
               System.out.println("Directory is deleted : " 
                                                 + file.getAbsolutePath());

            }else{

               //list all the directory contents
               String files[] = file.list();

               for (String temp : files) {
                  //construct the file structure
                  File fileDelete = new File(file, temp);

                  //recursive delete
                 delete(fileDelete);
               }

               //check the directory again, if empty then delete it
               if(file.list().length==0){
                 file.delete();
                 System.out.println("Directory is deleted : " 
                                                  + file.getAbsolutePath());
               }
            }

        }else{
            //if file, then delete it
            file.delete();
            System.out.println("File is deleted : " + file.getAbsolutePath());
        }
    }

您可以通过以下方式在Android中删除文件:

File file = new File(pathToFile);
boolean deleted = file.delete();
别忘了加上

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
到您的
AndroidManifest.xml
文件