首先,我正在使用一些特定的API(Grand Stream GXV3275电话),该API要求使用Intent-BroadcastReceiver组合断路器。
当我的设备横向放置时,效果很好,所以问题出在Intent-BroadcastReceiver上。
所以我需要那个IntentFilter来知道我的HOOKEVENT,然后用那个BroadcastReceiver接收它。
我只想知道为什么它甚至不显示警报或根本不起作用。可以在CordovaPlugin上处理IntentFilter吗?使用BroadcastReceiver?
我对CordovaActivity和HOOKEVENT进行了一些测试; 更新文本视图。因此,我认为这是CordovaPlugin的问题。
我也尝试做:
CordovaActivity activity = (CordovaActivity) this.cordova.getActivity();
activity.getJs();
Run Code Online (Sandbox Code Playgroud)
通常,这可以使我得到对我的活动有效的字符串,但给了我NPE ..
公共类Toast扩展了CordovaPlugin {
private String javascript = "";
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
initHookEvent();
switch (action) {
case "reversed":
reversedTest();
return true;
}
return false;
}
private Activity getActivity() { return this.cordova.getActivity();}
private void reversedTest(){
Configuration configuration = getActivity().getResources().getConfiguration();
if(configuration.orientation == Configuration.ORIENTATION_LANDSCAPE){
webView.sendJavascript("javascript:document.getElementById(\"combi\").innerHTML=\"Landscape\";");
}
webView.sendJavascript(javascript);
}
public void initHookEvent() {
IntentFilter filter = new IntentFilter("com.base.module.phone.HOOKEVENT");
getActivity().registerReceiver(broadcastReceiver, filter);
} …Run Code Online (Sandbox Code Playgroud)