(SOの他の同様の質問で確認しました)
HTMLエディタを作成しようとしています。編集テキストがあり、そこに入力された HTML コードをブラウザーで開きたいと考えています。これを行うには、編集テキスト コンテンツを .html ファイルにコピーしてから開きます。
String filename = "temp.html";
File file = new File(getActivity().getFilesDir(), filename);
FileOutputStream outputStream;
try {
outputStream = getActivity().openFileOutput(filename,
Context.MODE_PRIVATE);
outputStream.write(editText.getText().toString().getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromFile(file));
startActivity(intent);
<uses-permission android:name="android.permission.INTERNET" />
マニフェストに追加しました。しかし、[開く] をクリックした後、表示される [アプリを使用した完全なアクション]オプションは、Adobe Reader と UTorrent リモートです。ブラウザは表示されていません。携帯電話には Opera とストック ブラウザがあります。コードの何が問題になっていますか? カスタム書体を使用しました
ノート:
- アプリに WebView は必要ありません。ブラウザのみで開きたい。
- このコードはフラグメントにあるため、「getActivity()」です。
編集:
File root = android.os.Environment.getExternalStorageDirectory();
File dir = new File(root.getAbsolutePath() + "/temp");
dir.mkdirs();
File file = new File(dir, "temp.html");
FileOutputStream outputStream;
try {
outputStream = new FileOutputStream(file);
outputStream.write(et.getText().toString().getBytes());
outputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromFile(file));
startActivity(intent);
ファイルを外部ディレクトリに書き込むようにコードを変更しました。問題が解決しない。