我想使用JSNI在GWT上运行此phonegap本机警报
navigator.notification.alert(
'You are the winner!', // message
null, // callback
'Game Over',
'Done'
);
我已经试过了:
public static native void testNativeAlert()/*-{
navigator.notification.alert(
'You are the winner!', // message
null, // callback
'Game Over',
'Done');}-*/;
最佳答案
从http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html#writing开始,不要忘记$wnd
来访问全局属性!
public static native void alert(String msg) /*-{
$wnd.alert(msg);
}-*/;
请注意,代码没有直接在方法内部引用JavaScript窗口对象。从JSNI访问浏览器的窗口和文档对象时,必须分别将它们引用为$ wnd和$ doc。您的编译脚本在嵌套框架中运行,并且$ wnd和$ doc会自动初始化以正确引用宿主页面的窗口和文档。
因此,在您的情况下,您必须使用
$wnd
来访问navigator
:public static native void testNativeAlert()/*-{
$wnd.navigator.notification.alert(
'You are the winner!', // message
null, // callback
'Game Over',
'Done');
}-*/;
旁注:尚不清楚文档,但您确定phonegap允许
callback
为空吗?否则,请查看我在上面链接的JSNI文档。