0

ユーザーが手動でファイル名を変更した後でも、特定のファイルにアクセスする方法はありますか?

具体的な例を挙げると、私のデバイスには「/mnt/sdcard/myfile.png」にファイルがあり、アプリケーションはファイルの絶対パス (「/mny/sdcard/myfile.png」) を指定してこのファイルにアクセスするようになりました。 )。ただし、ユーザーがファイルの名前を変更すると、これは失敗します。ファイル名の変更後に変更されない定数識別子を介してファイルを取得したい。

4

2 に答える 2

2

いいえ。ファイルの一意のIDが利用できるとは思いません。DOS(ディスクオペレーティングシステム)やWindowsと同様に、FATとNTFSを使用して、各アイテムのメディア(HDD)の一意の情報を認識します。

しかし、私はこれをしません。コードを介してこの種の内部リソースにアクセスできます。したがって、ファイル名なしでファイルにアクセスする他の方法はありません。

要件の代替方法は次のとおりです(ファイルはそれほど大きくないと思います)。

  • ファイルのコピーを。という名前の1つのフォルダに入れますbackup
  • 定期的に元の場所でファイルを検索するAndroidサービスを作成します。
  • 定期的にAlarmManagerクラスを使用できます。
  • サービスが元の場所でファイルを見つけられなかった場合(たとえば、ファイルが削除されたり名前が変更されたりした場合)、このサービスはファイルをフォルダーからコピーしbackupて元のフォルダーに貼り付けます。

ただし、このロジックは実装する最後のオプションである必要がありますが、良い部分は、要件を100%満たすということです。

于 2012-09-15T06:19:32.453 に答える
0

これを試して..

あなたはSDカードからすべての画像を取得することができます。

        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 に答える