gpt4 book ai didi

java - Android & PhoneGap——在 NPObject 上调用方法时出错

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:04:30 26 4
gpt4 key购买 nike

我正在尝试在我的 phonegap 应用程序中设置 FLAG_SHOW_WHEN_LOCKED,但仅当显示特定页面时。为此,我有一个从 CordovaPlugin 扩展而来的 Java 插件,在 execute 方法中包含以下代码:

if (action.equals("showWhenLocked")) {
boolean showWhenLocked = args.getBoolean(0);

if (showWhenLocked) {
this.cordova.getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
} else {
this.cordova.getActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
}

callbackContext.success();
return true;
}

它通过 cordova.exec(null, null, 'MyPluginClass', 'showWhenLocked', [myVar]) 调用,但在执行时出现错误

Uncaught Error: Error calling method on NPObject. at file:///android_asset/www/cordova-2.2.0.js:984

任何想法是什么导致这个/我做错了什么以及如何解决它?如果我在创建 Activity 时设置标志,它就可以正常工作。

最佳答案

我已经发现这种错误可能是由需要不可用线程的调用引起的。您对 getWindow() 的使用告诉我,这更有可能发生。您很可能正在访问被另一个线程锁定的信息,例如 UI 线程。查看 Cordova documentation在有关 UI 线程中的线程的部分中。

关于java - Android & PhoneGap——在 NPObject 上调用方法时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14227152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com