3

ファイルを SDCard に書き込んでおり、<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />3.x までは正常に動作するように設定していますが、4.0 では以下のエラーが発生します。

java.io.IOException: open failed: EACCES (Permission denied)
at java.io.File.createNewFile(File.java:940)
at com.gt.mLearning.app.VideoViewActivity.copyFile(VideoViewActivity.java:204)
at com.gt.mLearning.app.VideoViewActivity.access$3(VideoViewActivity.java:193)
at com.gt.mLearning.app.VideoViewActivity$Loader.doInBackground(VideoViewActivity.java:61)
at com.gt.mLearning.app.VideoViewActivity$Loader.doInBackground(VideoViewActivity.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:264)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
at java.io.File.createNewFile(File.java:933)

助けや提案はありますか?

ロヒット

4

5 に答える 5

5

推測ですが、おそらく携帯電話をコンピュータに接続したままでしたか? このエラーは、SD カードがまだ USB デバイスとしてロックされている場合に発生する可能性があります。これが役に立てば幸いです、トバイアス

于 2012-11-26T16:51:09.397 に答える
1

後で、問題がデバイス固有であることを発見しました。Android マーケットからファイル マネージャー アプリをインストールしましたが、書き込み権限が表示されません。これは、そのメーカーの Android OS 実装が書き込み権限を提供していないことを意味し、これが問題の原因となっています。

于 2012-11-26T23:22:11.503 に答える
0

おそらく、外部ストレージ ディレクトリをハードコーディングしており、特定のデバイスで動作する可能性があります。

Environment.getExternalStorageDirectory();

コードを投稿すると、ログだけでなく、はるかに役立ちます。

于 2012-07-19T10:08:26.947 に答える
0

Android O/S も更新したことを確認できます。いくつかの大きな変更により、SD カードの問題が発生します。私の場合、SHV-E160K の Android O/S を 2.3.5 から 4.1.2 に、samsung ファームウェア アップデート アプリケーションである Odin でアップデートします。そして、私は問題に直面しました。私の詳細なエラーメッセージは次のとおりです。

02-14 11:00:43.057  22288-22288/? W/System.err﹕ java.io.IOException: open failed: EACCES (Permission denied)
02-14 11:00:43.057  22288-22288/? W/System.err﹕ at java.io.File.createNewFile(File.java:940)
02-14 11:00:43.057  22288-22288/? W/System.err﹕ at com.sec.android.util.IAPDeviceInfoEditor.activity.EditorActivity.createDeviceInfo(EditorActivity.java:222)
02-14 11:00:43.057  22288-22288/? W/System.err﹕ at com.sec.android.util.IAPDeviceInfoEditor.activity.EditorActivity.onClick(EditorActivity.java:121)
02-14 11:00:43.057  22288-22288/? W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method)
02-14 11:00:43.057  22288-22288/? W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:511)
02-14 11:00:43.057  22288-22288/? W/System.err﹕ at android.view.View$1.onClick(View.java:3685)
02-14 11:00:43.057  22288-22288/? W/System.err﹕ at android.view.View.performClick(View.java:4192)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at android.view.View$PerformClick.run(View.java:17248)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at android.os.Handler.handleCallback(Handler.java:615)
02-14 11:00:43.067      172-485/? V/AudioHardwareMSM8660﹕ open driver
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:92)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at android.os.Looper.loop(Looper.java:137)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:4950)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:511)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:997)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:764)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at dalvik.system.NativeStart.main(Native Method)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at libcore.io.Posix.open(Native Method)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ at java.io.File.createNewFile(File.java:933)
02-14 11:00:43.067  22288-22288/? W/System.err﹕ ... 16 more

理由は、4.1.2 が 2.3.5 のファイル システムを認識できなかったためです。このフォーマットSDカードストレージを解決します。アドレス、メモ、履歴などの個人情報を削除するわけではありません。フォーマット後は、魔法のように機能します。

于 2014-02-14T02:16:59.560 に答える