CrossWalk - 接受语言标题

问题描述:

如何使用CrossWalk设置HTTP_ACCEPT_LANGUAGE标题?CrossWalk - 接受语言标题

我试过寻找与原始Android webview相同的方法(如此处所述:How can I override Android WebView to use custom Accept-Language header?),但没有运气。

正常的webview发送正确的标题,但是CrossWalk不包含我的母语,只是'en-US'。

+0

我有同样的问题! – KNaito 2015-03-25 12:49:14

+0

请参阅下面的答案。 :) – Whooper 2015-03-25 13:41:34

我最终编辑了源代码,然后从头编译。

如果你想要做的一样,看的文件是 “xwalk /运行/浏览器/ runtime_url_request_context_getter.cc”

Link to the file on Github

再看看这个:

storage_->set_http_user_agent_settings( 
new net::StaticHttpUserAgentSettings("da-DK,da;q=0.8,en-US;q=0.6,en;q=0.4", base::EmptyString())); 

在此我们添加了“da-DK,da; q = 0.8”,但您明白了。

How to build Crosswalk from source

+1

所以NIce!向github发送拉请求更好。昨天我以另一种方式解决它。在我的情况下,'XWalkResourceClient'用于通过'shouldInterceptLoadRequest'方法拦截http访问。在这种方法中,我们可以使用'URLConnection'而不是'XWalkView'的http连接并自由添加任何http头。并且它返回'WebResourceResponse'为了给出'XWalkView'的响应。 – KNaito 2015-03-26 06:11:23

我有同样的问题。我发现以下测试版本15.44.384.8解决了这个问题。所以,如果你觉得使用beta版舒适,你可以在这里找到:

https://download.01.org/crosswalk/releases/crosswalk/android/maven2/org/xwalk/xwalk_core_library_beta/

当使用版本15.44.384.8人行横道会自动选择您的设备设置的语言。

您可以通过对矫正你的build.gradle添加此版本如下:

repositories { 
    maven { 
     url 'https://download.01.org/crosswalk/releases/crosswalk/android/maven2' 
    } 
} 


dependencies { 
    ...other stuff... 
    compile 'org.xwalk:xwalk_core_library_beta:15.44.384.8' 
}