我正在尝试使用cordova InAppBrowser打开付款页面,我想在移动设备上的系统浏览器中打开该页面。我也尝试_blank参数,但是_blank只是在与应用程序相同的窗口中打开该页面。我也想通过Cordova InAppBrowser发送发帖请求。这是我的代码:
from collections import Counter
documents = [...]
count_dict = [word_count(document) for filename in documents]
total = sum(count_dict, Counter())
使用_system参数无法执行任何操作,并且_blank只需在与应用相同的窗口中打开页面即可。如何在设备的系统浏览器中打开付款页面?
答案 0 :(得分:2)
最后,我在原始InAppBrowser存储库的branch中找到了解决方案。
遇到相同问题的任何人都可以查看此分支的openExternal
功能。它允许像外部链接一样打开数据。
public String openExternal(String url) {
try {
// Omitting the MIME type for file: URLs causes "No Activity found to handle Intent".
// Adding the MIME type to http: URLs causes them to not be handled by the downloader.
Uri uri = Uri.parse(url);
String scheme = uri.getScheme();
Intent intent = "data".equals(scheme)
? Intent.makeMainSelectorActivity(Intent.ACTION_MAIN, Intent.CATEGORY_APP_BROWSER)
: new Intent(Intent.ACTION_VIEW);
if ("file".equals(scheme)) {
intent.setDataAndType(uri, webView.getResourceApi().getMimeType(uri));
} else {
intent.setData(uri);
}
intent.putExtra(Browser.EXTRA_APPLICATION_ID, cordova.getActivity().getPackageName());
this.cordova.getActivity().startActivity(intent);
return "";
// not catching FileUriExposedException explicitly because buildtools<24 doesn't know about it
} catch (java.lang.RuntimeException e) {
LOG.d(LOG_TAG, "InAppBrowser: Error loading url " + url + ":" + e.toString());
return e.toString();
}
}
使用上述功能后,一切都会正常进行。
答案 1 :(得分:1)
我发现您有两个问题(如果还有更多问题,请解释一下,以便我更新答案):
如何使用_system配置将数据发布到不兼容的浏览器中。
以及如何从打开的页面返回到打开程序应用程序。