0

Eclipse で開発した Android アプリケーションに問題があります。

問題は、次の手順を使用して新しい画像をキャプチャするときです。

Intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(ファイル)); startActivityForResult(意図、TAKE_IMAGE); デバイスはファイルを正しい保存先 (extSdCard) に正しく保存しますが、ディレクトリの内容をリロードすることになっている次のコードは、デバイスが再起動されるまで新しいファイルを見つけられません。

images.clear();
final String[] columns = { MediaStore.Images.Thumbnails._ID };
final String orderBy = MediaStore.Images.Media._ID;
String condition = MediaStore.Images.Media.DATA + " like '%/"+
Singleton.getCurrentPatient().getNrdo()+"/%'";

Cursor imagecursor =  getContentResolver().query(
            MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns,
            condition, null, orderBy);

if(imagecursor != null){
 int image_column_index = imagecursor
                .getColumnIndex(MediaStore.Images.Media._ID);
 int count = imagecursor.getCount();
 for (int i = 0; i < count; i++) {
            imagecursor.moveToPosition(i);
       int id = imagecursor.getInt(image_column_index);
       ImageItem imageItem = new ImageItem();
      imageItem.id = id;
      lastId = id;
      imageItem.img = MediaStore.Images.Thumbnails.getThumbnail(
                    getApplicationContext().getContentResolver(), id,
                    MediaStore.Images.Thumbnails.MICRO_KIND, null);
     images.add(imageItem);
 }
   imagecursor.close();
 }
notifyDataSetChanged();

}

残念ながら、私は多くの解決策を試しましたが、何もうまくいきません

私は最初にこのコードを使用しました

mScanner = new MediaScannerConnection(
AndroidCustomGalleryActivity.this,new MediaScannerConnection.MediaScannerConnectionClient() {
    public void onMediaScannerConnected() {
      mScanner.scanFile(imageUri.getPath(), null /* mimeType */);
 }
    public void onScanCompleted(String path, Uri uri) {
     if (path.equals(imageUri.getPath())) {
         mScanner.disconnect();
                AndroidCustomGalleryActivity.this
             .runOnUiThread(new Runnable() {
                 public void run() {
                    updateUI();
                  }
        });
         }
         }
     });
mScanner.connect();

imageUri には onMediaScannerConnected メソッドの正しいパスが含まれていますが、onScanCompleted は呼び出されません

写真がキャプチャされた後、それらの指示を試しました

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, imageUri));    
updateUI(); 

繰り返しますが、updateUI メソッドは新しいファイルを検出しません。

私を手伝ってくれますか ?

4

1 に答える 1