コルドバ アプリから画面のタイムアウトを制御しようとしています。アプリはビデオを再生し、アプリがビデオを再生している間、画面のタイムアウトをオフにしたい。ビデオが一時停止されているか、他のことをしているときに、ビデオを再びオンにしたい。OnCreate で KeepScreenOn フラグを設定すると問題なく動作しますが、プラグインから呼び出しても何も変わりません。私は両方を試しました
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
と
this.webView.setKeepScreenOn(true);
これが私のプラグインコードです。
package com.Kidobi.plugins;
import org.apache.cordova.api.CallbackContext;
import org.apache.cordova.api.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
import android.view.WindowManager;
public class KeepScreenOn extends CordovaPlugin {
@Override
public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {
System.out.println("Im in the plugin");
if (action.equals("KeepScreenOn")) {
System.out.println("KeepScreenOn");
this.webView.setKeepScreenOn(true);
//cordova.getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
//callbackContext.success(action);
return true;
} else if (action.equals("CancelKeepScreenOn")){
System.out.println("CancelKeepScreenOn");
this.webView.setKeepScreenOn(false);
//cordova.getActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
//callbackContext.success(action);
return true;
} else {
System.out.println("UNKNOWN");
callbackContext.error("unknown action" + action);
return false;
}
}
}