繁体   English   中英

错误 - 请让您的活动为共享模式扩展 XWalkActivity

[英]Error - Please have your activity extend XWalkActivity for shared mode

我收到错误

异常 junit.framework.AssertionFailedError:请让您的活动为共享模式扩展 XWalkActivity

在android崩溃报告中。 我一直无法在测试中得到这个崩溃。 我只在我的游戏中使用过 XWalkView 而不是 XWalkActivity。 实现如下图所示。

XWalkView mXWalkView = new XWalkView(context);
MyJavaScriptInterface javaInterface = new MyJavaScriptInterface();
mXWalkView.addJavascriptInterface(javaInterface, "interOps");
mXWalkView.load("javascript:( function () { function createURL(event) { window.interOps.Callback(event.data); }window.addEventListener('message', createURL , false); } ) ()",null);
mXWalkView.load(URL, null);
mXWalkView.setResourceClient(new XWalkResourceClient(mXWalkView) {
                    @Override
                    public void onLoadFinished(XWalkView view, String url) 
                    {
                            super.onLoadFinished(view, url);
                    }
});

崩溃日志指向该行

XWalkView mXWalkView = new XWalkView(context);

而且我已经在嵌入模式而不是共享模式中集成了crosswalk; 这就是为什么这个崩溃日志令人困惑的原因。 谁能帮我弄清楚为什么会抛出这个错误。

您可能传递了错误的上下文,如果您在活动类中,请尝试传递this否则尝试getBaseContext()getApplicationContext()并查看是否出现相同的错误。

我认为错误来自加载 javascript,我试图改革 javascript abit:

function messageCallback() { window.addEventListener('message', function(event){window.interOps.Callback(event.data);} , false);}messageCallback();

不知道它有帮助,但尝试不会受到伤害。

像这样试试;

mXwalkView = new XWalkView(this, null);

Crosswalk 运行时的构造函数。

公共构造函数

XWalkView(Context context, AttributeSet attrs)

用于通过 XML 进行膨胀的构造函数。

XWalkView(Context context, Activity activity)

我不知道它是否相关。 我有同样的错误,我将支持的架构更改为 v7a,我的应用程序运行没有错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM