0

即使在用户手动更改文件名后,是否有任何方法可以访问特定文件?

举一个具体的例子,我的设备在“/mnt/sdcard/myfile.png”中有一个文件,我的应用程序现在通过指示文件的绝对路径来访问这个文件(即“/mny/sdcard/myfile.png” )。但是,如果用户更改文件名,这将失败。我想通过文件名修改后不会改变的常量标识符来获取文件。

4

2 回答 2

2

不,我认为没有任何唯一的文件标识可用。就像在 DOS(磁盘操作系统)和 Windows 中一样,它们使用 FAT 和 NTFS 来了解每个项目的媒体(HDD)的唯一信息。

但我不认为你可以通过代码访问这种内部资源。所以没有其他方法可以访问没有文件名的文件。

您要求的另一种方法是(我相信您的文件不是太大)。

  • 将文件的副本放在一个名为backup.
  • 创建一个 Android 服务,它将每隔一段时间在原始位置查找您的文件。
  • 对于定期间隔,您可以使用 AlarmManager 类。
  • 如果服务未在原始位置找到文件(例如文件被删除或重命名),则此服务将从文件backup夹中复制文件并将其粘贴到原始文件夹中。

然而,这个逻辑应该是最后一个实现的选项,但好的部分是它 100% 满足您的要求。

于 2012-09-15T06:19:32.453 回答
0

尝试这个..

您可以从 sdcard 获取所有图像。

        Cursor cur = this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,null);  
        startManagingCursor(cur);  
        cur.moveToFirst();
        while (cur.moveToNext()) {
            String str = cur.getString(cur.getColumnIndex(MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME));
            Log.e("#########",str);
        }
于 2012-09-15T06:24:14.503 回答