У меня есть процедура JavascriptInterface, которая будет mp4 воспроизводить URL-адрес видео в Android Video Player ... Я хочу воспроизвести его с определенным приложением ... в этом случае используется MX Player.
Хорошо, вы будетескажем, просто позвольте пользователю выбрать, НЕТ
Проблема в том, что мне нужно само приложение (веб-просмотр), которое будет воспроизводить вызов MX Player с помощью кнопки JS.
Я узнал, что вы можете вызывать приложенияиспользование PackageManager.getLaunchIntentForPackage ()
А вот как я это называю
PackageManager pm = context.getPackageManager();
Intent app = new Intent(pm.getLaunchIntentForPackage("com.mxtech.videoplayer.ad"));
Вот чистая процедура JavascriptInterface, которая будет воспроизводить видео с помощью видеоплеера по умолчанию (если есть только один видеоплеер)или позволяя вам выбрать, какой видеоплеер будет воспроизводить его
@JavascriptInterface
public boolean play(String vidio){
if(vidio.contains("mp4")){
Intent intent = new Intent(Intent.ACTION_VIEW);;
//Eksekusi link sebagai video
intent.setDataAndType(Uri.parse(vidio), "video/mp4");
context.startActivity(intent);
Log.d("OWO",vidio);
return true;
}else{
Log.d("OWO",vidio);
return false;
}
}
А вот сценарий Javascript, который будет вызывать процедуру JavascriptInterface и пример ссылки на видео
window.onload = function(){
var arg = JSON.parse('{"video":"https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"}');
var play = document.getElementById('play');
// associate functions with the 'onclick' events
play.onclick = playVideo;
function playVideo(e) {
e.preventDefault();
Android.play(arg.video);
}
}
Когда я ожидал,Я касаюсь кнопки, она автоматически воспроизводит видео внутри MX-плеера.
Но когда я пытаюсь проанализировать его с помощью setDataAndType, как показано ниже
@JavascriptInterface
public boolean play(String vidio){
if(vidio.contains("mp4")){
PackageManager pm = context.getPackageManager();
Intent intent = new Intent(pm.getLaunchIntentForPackage("com.mxtech.videoplayer.ad"));
//Eksekusi link sebagai video
intent.setDataAndType(Uri.parse(vidio), "video/mp4");
context.startActivity(intent);
Log.d("OWO",vidio);
return true;
}else{
Log.d("OWO",vidio);
return false;
}
}
, когда я нажимаю кнопку, он только открывает приложение MX Player, но не воспроизводит URL видео.
Так как мне это сделать?