Если вы откроете URL-адрес mp3 в браузере Android, вы получите диалоговое окно «Выполнить действие, используя ...» с двумя вариантами: «Музыкальный проигрыватель» или «Браузер». Если вы выберете «Браузер», он будет загружать mp3 на устройство.
Я пытаюсь добиться того же в моем приложении.
Я использую WebView с setWebViewClient для класса WebViewClient, который имеет метод shouldOverrideUrlLoading (как во всех примерах). Метод проверяет расширение «mp3» и startActivity (намерение) с намерением ACTION_VIEW для URL-адреса mp3.
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
String lowcaseurl = url.toLowerCase();
if (lowcaseurl.endsWith(".mp3")) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
view.getContext().startActivity(intent);
return true;
}
else {
view.loadUrl(url);
}
return super.shouldOverrideUrlLoading(view, url)
}
В этом отображается диалоговое окно «Выполнить действие с помощью» - , но , если я выберу «Браузер», откроется браузер, но не получит URL! он просто открывает браузер и переходит к стандартному URL домашней страницы (в данном случае это google.com) ...
Любая помощь будет оценена.