2011-10-27 8 views
0

誰かが、2.2または3.1ではなく、2.1で正常に動作する理由を教えてください。最後のトーストメッセージは、MediaScannerが完了したことを示しています。Mediascannerが2.2以上で動作しない

たぶん少し遅れて
scanner = new MediaScannerConnection(this, 
      new MediaScannerConnection.MediaScannerConnectionClient() { 

       public void onMediaScannerConnected() { 
        Log.v("SCANNER"," CONNECTED: "+outputFile.getPath()); 
        scanner.scanFile(outputFile.getPath(), null); 

       } 

       public void onScanCompleted(String path, Uri uri) { 
        if (path.equals(outputFile.getPath())) { 

         PhotoPager.this.runOnUiThread(new Runnable() { 
          public void run() { 
           Toast 
            .makeText(PhotoPager.this, 
             "Image has been saved", 
             Toast.LENGTH_SHORT) 
            .show(); 
          } 
         }); 

        } 
        scanner.disconnect(); 
       } 
      } 
    ); 
+0

動作しない、正確には何? – EboMike

+0

イメージが保存され、このコードが実行されると、デバイスを再起動するか、sdcardを再マウントするまで(ギャラリーが直ちに更新される2.1を除く)、ギャラリーは更新されません。 –

+0

だから、他の誰かが2.2と3.2タブレットを実行しているサムスンでこれをテストして、うまくいきました。私の推測するオリジナルのDroid 2.2とXoom 3.1のデバイスと何かが関係しています。 –

答えて

0

が、私はこのコードを使用する(2.3.3で動作します)

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));