WebViewClient を使用して .mp3 ファイルのリストを表示しています。mp3 ファイルの URL をクリックした後、ユーザーが mp3 をストリーミングするメディア プレーヤーを選択できる [Complete Action Using] メニューを Android にポップアップ表示させたいと考えています。
次のコードを使用すると、「Complete Action Using」メニューを起動して、メディア プレーヤーを選択できます。残念ながら、すべてのメディア プレーヤーが独自のバージョンの「ファイルを再生できません」というエラー メッセージを吐き出します。
次のコードにエラーはありますか? ありがとうございました!
private class MapWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.endsWith(".mp3")) {
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = null;
try {
file = new File(url);
intent.setDataAndType(Uri.fromFile(file), "audio/*");
startActivity(intent);
} catch (NullPointerException e) {
e.printStackTrace();
}
return true;
} else {
return super.shouldOverrideUrlLoading(view, url);
}
}