二、坑
1、我将html文件放到/data/data/com.example.demo/files/ 里面去了,结果发现X5根本无法读取,后来通过跟腾讯工作人员沟通,原来老版本的WebKit只允许读取/sdcard 和私有目录下的/data/data/com.example.demo/files/public目录,其他目录的调用都被禁止了,通过X5 Demo知道我手机上的X5版本是2258,而新的版本如3321已经不再限制了。
(考虑到有的用户是老版本的webkit,所有目录选择需要考虑下)
(考虑到有的用户是老版本的webkit,所有目录选择需要考虑下)
2、腾讯X5官网没有写,原来App集成X5后还要到官网
http://x5.tencent.com/ 的开发者后台去登记App,获得一个QBSDKAppKey,然后放到AndroidManifest.xml里面去,具体可参考官网文档。(参考:http://sanwen8.cn/p/x17z9L.html或者http://blog.csdn.net/langxingtianxi/article/details/51774347)
3、js调用java的方法,share(int id),结果发现一直传回来的id是null,经过研究才发现,
在js传递的参数必须在js中先转为String类型。另外x5内核貌似不支持方法重载。
传递要使用String类型传递
4.测试发现没有X5内核的情况下使用下面方法设置允许跨域是无效的,且可能导致APP闪退,这个我会提交给腾讯,希望得到解决
public WebResourceResponse(String var1, String var2, int var3, String var4, Map<String, String> var5, InputStream var6) { this(var1, var2, var6); this.setStatusCodeAndReasonPhrase(var3, var4); this.setResponseHeaders(var5); }
5、继续更新中...