2011-01-17 37 views

答えて

5

外部ストレージディレクトリに書き込むための十分な権限がない可能性があります。私はcreateTempFileはこれが必要であることを知らない(私はそれが内部ストレージになると思うだろうが、それを知らない)が、私はそうのように、マニフェストにWRITE_EXTERNAL_STORAGE権限を追加することをお勧め:

<manifest...> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
</manifest> 
+0

ありがとうございました。私はAndroidManifest.xmlにその行を追加して、という2つの要素を持つようにしました。ただし、アプリケーションのエラーは変更されません。変更は正しいですか? – dev222

+4

更新:この呼び出しの代替署名への変更:File temp = File.createTempFile( "mediaplayertmp"、 "dat"、this.getCacheDir());作品! – dev222

+0

ああ大丈夫です!あなたはそれを理解してうれしかった、私はそこからどこに行くか分からなかった。 – kcoppock

1

java.io.tmpdirで設定されたデフォルトの一時ファイルの場所AFAIKは/sdcardであるため、マニフェストにWRITE_EXTERNAL_STORAGE権限を追加する必要があります。

3

私はこの同じ問題を抱えていました。私にとっては、開発中にAndroidデバイスをUSB経由でPCに接続し、別のデバイスによってSDカードがマウントされているとロックされていた問題が判明しました。一旦デバイスのプラグを抜くと、正常に機能しました。また、接続したときにSDカードをマウントしないようにデバイスに指示することもできます。

関連する問題