ユーザーが初めてアプリケーションを開くときに、ローカルファイルに少しデータを書き込みます。context.getFilesDir()への書き込み時に「アクセスが拒否されました」
私は私のアプリは、このファイルへの書き込み権限が必要なので、私はそうのようなgetFilesDirを()を使用していていることを理解する:
File ins = new File(context.getFilesDir(), "INSTALLATION");
// do some things
FileOutputStream out = FileOutputstream.new(ins);
out.write(data.toString().getBytes());
out.close();
これは例99.9%で動作します。しかし、私はこのファイルを作成する権限がないと言っている小さな例外があります。例:
java.lang.RuntimeException: Unable to create application com.blah.blah.Blah
java.lang.RuntimeException: java.io.FileNotFoundException: /INSTALLATION (Permission denied)
なぜこのようなことが起こりますか?私はそれを回避することはできますか?即時のクラッシュはです。アプリで不愉快な最初の経験です。
を得ているようはい、その後の答えここ – Sameer
としてそれを受け入れてください場合は?解決しなかったあなたは、拡張子を持つファイルの正しいパスを与えることを確認してくださいアンドロイドマニフェスト
で許可を与えます同様の問題への私の答えです:http://stackoverflow.com/questions/7353871/fileoutputstream-throws-filenotfoundeception-when-unzipping/15308534#15308534 – blyabtroi
あなたは問題が何かを理解しましたか?私は同じ問題を抱えている。私はインストールを追跡するために公式のAndroidコードを使用しています。http://android-developers.blogspot.ro/2011/03/identifying-app-installations.html –