Java Crosswalk-如何在XWalkExtension类中获得android应用程序上下文?
因此,我遵循在上创建人行横道扩展的说明。我的问题与扩展XWalkExtension类有关Java Crosswalk-如何在XWalkExtension类中获得android应用程序上下文?,java,android,crosswalk-runtime,Java,Android,Crosswalk Runtime,因此,我遵循在上创建人行横道扩展的说明。我的问题与扩展XWalkExtension类有关 package org.crosswalkproject.sample; import org.xwalk.core.XWalkExtension; public class ExtensionEcho extends XWalkExtension { private static String name = "echo"; private static String jsapi =
package org.crosswalkproject.sample;
import org.xwalk.core.XWalkExtension;
public class ExtensionEcho extends XWalkExtension {
private static String name = "echo";
private static String jsapi = "var echoListener = null;" +
"extension.setMessageListener(function(msg) {" +
" if (echoListener instanceof Function) {" +
" echoListener(msg);" + " };" + "});" +
"exports.echo = function (msg, callback) {" +
" echoListener = callback;" + " extension.postMessage(msg);" +
"};" + "exports.echoSync = function (msg) {" +
" return extension.internal.sendSyncMessage(msg);" + "};";
public ExtensionEcho() {
super(name, jsapi);
}
@Override
public void onMessage(int instanceID, String message) {
postMessage(instanceID, "From java: " + message);
}
@Override
public String onSyncMessage(int instanceID, String message) {
return "From java sync: " + message;
}
}
扩展XWalkExtension类时,如何获取android应用程序上下文?因此,如果我想创建一个Toast消息,我可以在上下文中传递。没有公开文档化的接口来从XWalkExtension获取活动。您可以修改构造函数来存储对活动的私有引用,然后从实例化扩展的位置将其传入
public class ExtensionEcho extends XWalkExtension {
private final Activity activity;
public ExtensionEcho(Activity activity) {
this.activity = activity;
}
...
}