Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.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卡删除文件_Android - Fatal编程技术网

Android 卸载我的应用程序后如何从SD卡删除文件

Android 卸载我的应用程序后如何从SD卡删除文件,android,Android,我正在开发一个应用程序,它将创建一些文本文件到SD卡中,并将一些数据存储到SD卡中 这些文件将一直存在SD卡中 每当用户卸载我的应用程序时,我想删除SD卡中由我的应用程序创建的所有文件 我无法在onDestroy()中进行清理,因为它在应用程序生命周期中将被多次调用 请建议我如何做,以确保我的文件将被删除没有任何用户交互 我知道getExternalCacheDir()可以满足我的需要,但是我的文件很大,我需要SD卡提供1GB的空间, getExternalCacheDir()对我有用吗?您应该

我正在开发一个应用程序,它将创建一些文本文件到SD卡中,并将一些数据存储到SD卡中

这些文件将一直存在SD卡中

每当用户卸载我的应用程序时,我想删除SD卡中由我的应用程序创建的所有文件

我无法在onDestroy()中进行清理,因为它在应用程序生命周期中将被多次调用

请建议我如何做,以确保我的文件将被删除没有任何用户交互

我知道getExternalCacheDir()可以满足我的需要,但是我的文件很大,我需要SD卡提供1GB的空间,
getExternalCacheDir()对我有用吗?

您应该使用API参考中的
上下文.GetExternalFileDir()

“这与GetFileDir()类似,因为当 应用程序已卸载“


您的文件是在应用程序启动后创建的?是。我正在用onCreate()方法创建文件。您好,K-ballo,谢谢您的建议,但有没有办法以“字符串”形式获取路径。上面的Context.getExternalFilesDir返回“file”。file.getPath或任何其他getter如何?记住文件类实际上代表一个路径。K-ballo再次感谢,我需要您的更多帮助我的应用程序有不同的组件,我需要从不同的地方创建/修改文件。所以我需要公共文件路径,所以我将文件路径分配给接口中的常量,但上下文在接口中不可用,如果我硬编码,它会工作吗。。??打印上述常量时,我得到“/mnt/sdcard/Android/data/mypackage/files”。此路径在所有设备中是否相同。。??我的应用程序应该在所有设备中运行,至少是Froyo和Ginger Bread。硬编码路径不起作用。我见过有多个SD卡的设备,其路径为/mnt/sdcard/external_SD/。。。这只是一个例子。但是,您应该从同一个包中的所有活动中获得相同的路径,因此只要您有一个apk,就应该能够调用getExternalFilesDir一次并传递该值。感谢k-ballo,我必须使用getPath()或getAbsolutePath()。观察到两者或返回相同的值。