ビデオ プラグインがビデオの再生を終了した後、コントロールを WebView に戻す必要があります。
VideoView は、UIThread でビデオを再生します。ビデオが完了すると、スレッドが終了し、メインの WebView がフォーカスおよびアクティブに設定されます。
どうやってやるの?
public class VideoPlayer extends CordovaPlugin {
@Override
public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {
if ("playVideo".equals(action)) {
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
final VideoView videoHolder = new VideoView(cordova.getActivity().getApplicationContext());
cordova.getActivity().setContentView(videoHolder);
videoHolder.setVideoURI(Uri.parse("file:///sdcard/Android/data/Bis/v2.mp4"));
videoHolder.requestFocus();
videoHolder.start();
callbackContext.success(); // Thread-safe.
videoHolder.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// return Control back to the WebView
}
});
}
});
return true;
}
return false;
}