我想Twitter的分享功能整合到我的Android的PhoneGap的应用程序,而不是重新实现以缩短网址和跟踪鸣叫长度的控制,我想我会在使用他们的预制网络意图https://twitter.com/intent/...
所以我想推出像一个URL https://twitter.com/intent/tweet?text=Hello
在ChildBrowser窗口,这样,我可以让Twitter的界面接管。 用户可以登录他们的凭据,一旦他们签署,从网址参数的文本将出现在鸣叫框。
它不会工作。 当我使用http://twitter.com/intent/...
而不是https://twitter.com/intent/...
,ChildBrowser显示登录屏幕,但只要用户提交他们的凭证,屏幕变白。 我怀疑这是因为Twitter切换到HTTPS。
我证实,这是由尝试简单的情况下window.open
而不是window.plugins.childBrowser.showWebPage
。 我在Android上使用本机浏览器时,与HTTP / HTTPS没有问题。 然而,原生浏览器会提示我接受未验证的安全证书。 我怀疑这是用ChildBrowser问题 - 它不知道如何处理的提示。
使用本地浏览器酥料饼的根本不是一个选项:用户需要能够打“分享Tweet”或“关注”等后退出的过程中,但在Android设备上的“返回”按钮只是将一个历史后退一步,为他们的意图POST操作。 然后,重新启动,而不是返回到初始状态,从头开始应用。
如何配置ChildBrowser /我的Android应用程序的PhoneGap覆盖在Twitter上SSL的问题,这样我就可以在Childbrowser运行网络意图?
相关的代码是:
base="https://twitter.com/intent/tweet?text=";
URL=base+encodeURIComponent("it works!");
// works, but asks to accept a certificate
window.open(URL);
// blank white page
window.plugins.childBrowser.showWebPage(URL, { showLocationBar: true });
我cordova.xml
文件有这样配置的白名单:
<access origin="http://127.0.0.1*"/> <!-- allow local pages -->
......我不怀疑应该是一个问题。 然而,交换的基本测试origin=".*"
产生的任何变化。
我还检查了HTTP和HTTPS标头Twitter的意图登陆页面。 虽然目前没有出现任何东西脱节的 - 他们是相同的,除了严格,运输安全头为HTTPS,这在其他地方工作(如Github上)。
请帮忙!