1

1 年前にアプリケーションを作成し、このコードを使用してページをローカル ファイルにダウンロードし、ブラウザ インテントで開きました。

FileOutputStream fos = openFileOutput("summary.html", Context.MODE_PRIVATE);
fos.write(msg.obj.toString().getBytes());
fos.close();
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(Uri.fromFile(getFileStreamPath("summary.html")),"text/html");
startActivity(i);

そして、それは当時うまくいきました。ここで、アプリケーションを再度取得する必要がありましたが、これは機能しなくなりました。ブラウザーのインテント ウィンドウで、

Web ページが利用
できません file://.... の Web ページを読み込めませんでした (など)

私はまだ最初に行ったのと同じ Android バージョン (2.1) で実行しているため、デプロイされた OS バージョンとは関係ありません。しかし、SDK はその後更新されましたが、何か変わったのでしょうか?

MODE_PRIVATEからMODE_WORLD_READABLE切り替えると機能しますが、インテントは呼び出し元のアプリケーションと同じユーザー ID で実行されませんか?

これを行い、ファイルをMODE_PRIVATEに保持する方法に関するオプションはありますか?

そして、これが起こるために何が変わった可能性があるかについての情報はありますか? 私はグーグルで検索しましたが、何も見つかりませんでした...

4

1 に答える 1

0

そして、それは当時働いていました

信じがたいことだと思います。

しかし、SDK はその後更新されましたが、何か変わったのでしょうか?

いいえ、アプリは常に独自のユーザー ID を使用して独自のプロセスで実行されるため、他のアプリはMODE_PRIVATEファイルにアクセスできません。

MODE_PRIVATE から MODE_WORLD_READABLE に切り替えると機能しますが、アプリケーションの呼び出しと同じユーザー ID でインテントが実行されませんか?

いいえ、「意図的な実行」というフレーズの可能性のある定義については。各アプリは、独自のユーザー ID を使用して、独自のプロセスで実行されます。

これを行う方法と、ファイルを MODE_PRIVATE に保持するオプションはありますか?

で自分で表示しますWebView

于 2012-11-04T22:08:44.097 に答える