Открытие локального файла HTML с помощью браузера Android
Я пытаюсь открыть локальный HTML-файл с помощью браузера по умолчанию, используя следующий код:
Uri uri = Uri.fromFile(file);
Intent browserIntent = new Intent(Intent.ACTION_VIEW).setData(uri);
startActivity(browserIntent);
но я получаю следующее исключение:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///sdcard/SolveDroid/solution.html }
я в замешательстве - я должен создать деятельность, чтобы управлять веб-beowser? разве это не должно вызывать его активность?
пожалуйста, порекомендуйте:)
ОБНОВЛЕНИЕ: тот же код работает, если я передаю URL-адрес примерно так: Uri uri = Uri.parse("http://www.metalist.co.il");
3 ответа
Решение
Я нашел ответ на эту проблему... просто нужно добавить
browserIntent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
я использовал его с "file://" URI, используя Uri.fromfile(file)
и это работает (Android v.2.2.1)
Uri uri = Uri.fromFile(file);
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
browserIntent.setData(uri);
startActivity(browserIntent);
Попробуй это
Intent in = new Intent(Intent.ACTION_VIEW);
File f=new File("/sdcard/html.html");
in.setDataAndType(Uri.fromFile(f), "text/html");
startActivity(in);