こんにちは。
Codovaプラグインで画面暗転をさせない画面コントロールプラグインを開発しています。(crdova-plugin-screen-lockerというのを見つけましたが、Monacaに組み込んだら組み込めることは組み込めるのですが、対象デバイスのアイコンが黒くなりません。また掲題の件は今後も出て来ると思われ、質問した次第です)
Android版ではActivityが参照出来なくてはなりません。
どうやったらWebViewのActivityを参照出来るでしょうか?
プラグイン本体でthisを渡してみましたが、「Activityでない」とエラーになりました。
困っています。解決のお手伝いをしていただけれと思います。よろしくお願いします。
追記です。ありがちな、MainActivity.thisを指定してみましたが、シンボルエラーになりました。
ScreenCtrlPlugin.java
Java
1package mobi.monaca; 2 3import org.apache.cordova.CallbackContext; 4import org.apache.cordova.CordovaPlugin; 5import org.json.JSONArray; 6import org.json.JSONException; 7 8public class ScreenCtrlPlugin extends CordovaPlugin { 9 Screen screen=new Screen(this); 10 @Override 11 public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { 12 if (action.equals("lock")) { 13 screen.lock(); 14 callbackContext.success(); 15 //callbackContext.error(); 16 } 17 else if (action.equals("unlock")) { 18 screen.unlock(); 19 callbackContext.success(); 20 //callbackContext.error(); 21 } 22 return true; 23 } 24}
Screen.java
package mobi.monaca; import android.app.Activity; import android.view.WindowManager; public class Screen { Activity activity=null; public Screen(Activity pActivity){ activity=pActivity; } public void lock(){ activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } public void unlock(){ activity.getWindow().clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。