2011-12-17 5 views
0

ASUS Transformerで次のコードを実行すると、 'testdata.txt'が 'sd card'ディレクトリの最上位に作成されます。ASUS Transformerで保存した場合、Windowsエクスプローラでファイルが表示されないSDカード

private void testWriteFile() throws IOException 
{ 
    File sdCard = Environment.getExternalStorageDirectory(); 
    File file = new File(sdCard, "testfile.txt"); 

    FileOutputStream myOutput = new FileOutputStream(file); 
    byte buffer[] = {'0','1','2','3','4','5','6','7','8','9'};  

    myOutput.write(buffer,0,buffer.length); 

    myOutput.flush(); 
    myOutput.close(); 
} 

ファイルマネージャーアプリケーションを使用して、ASUS Transformerでファイルを表示できます。 WindowsのDOSボックスから 'adb shell'コマンドを使ってファイルを見ることができ、その権限が正しく設定されているように見えます。ただし、Windowsエクスプローラからディレクトリを表示すると、 'testfile.txt'は表示されません。隠しファイルとシステムファイルを表示するオプションを設定しましたが、運がありません。

「testfile.txt」の名前を変更するためにASUSファイルマネージャーアプリケーションを使用すると、Windowsエクスプローラで表示されるようになり、他のアプリはエクスプローラでファイルを表示できるようになります。

ZTE Blade(オレンジサンフランシスコ)で同じコードを実行すると、名前を変更することなくWindowsエクスプローラで 'testfile.txt'が表示されます。

このファイルを完成させて見えるようにするために何か他に必要なことはありますか?

同様の問題がここで報告されていますが、Can't see a file in Windows written by an android app on sd-card unless I "Force Close" the appですが、私の場合は強制的に閉じるとファイルが表示されません。

答えて

4

私は、次の命令でこれを解決した:

MediaScannerConnection.scanFile 
      (this, new String[] {file.toString()}, null, null); 

私はわからない、これはZTEブレードのためのAsusのために必要とされていない理由。しかし、彼らは私のPCに接続する方法に違いがあり、これが理由だと思う。

ZTE BladeはUSB大容量記憶装置として表示され、ドライブ文字が割り当てられています。 Asusはポータブルメディアプレーヤー(MTP)として表示され、ドライブ文字が割り当てられていません。

+0

MediaScannerConnection呼び出しはどこに配置しますか?ファイルを閉じた後は? –

+0

私はwrite()の後でflush()およびclose()の前にMediaScannerConnectionコールを配置しました。 –

+0

も私のために働いていました!どうも!!それはPCとの接続に関連しているようだ... – Billyjoker

0

は、私がこれはandroid5.xに取り組んできました:

File sdcard = Environment.getExternalStorageDirectory(); 
//step 1. 
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, 
       Uri.parse("file://" + sdcard))); 

//step 2. 
MediaScannerConnection.scanFile(getApplicationContext(), 
     new String[]{sdcard.getAbsolutePath() 
     + "/screenshots/myscreen_" + IMAGES_PRODUCED + ".png"}, null, null); 

感謝を。

関連する問題