如何解决如何使用Intent将外部android应用打开到新窗口?
方法1:仅适用于使用URL方案打开和传递var的iOS。 iOS会强制在新窗口中打开外部应用程序-这样可以正常运行。
方法2:对于Android,使用URI调用(类似于方法1),但也允许在调用的应用中分配Android intents
。方法2起作用,除了方法2可以打开当前应用程序内部的外部应用程序,而不是在其自己的窗口中打开外部应用程序。
方法3:同样适用于Android系统,它使用一种更本地化的方法来打开外部应用程序并通过对象传递var(与URL参数相对)-此方法在新窗口中打开应用程序时效果很好。
我的问题是方法2 –如何在新窗口中打开应用程序,而不是在使用URI类型调用的调用应用程序中打开应用程序。
// startApp = cordova com.lampaa.startapp plugin
var appScheme = "externalAppScheme://" ;
function openApp (appScheme,urlInfo,params) {
// Method 1 - iOS forces external apps to new window - works perfect.
if (device.platform == "iOS") {
var str = Object.keys(params).map(function(key) {
return key + '=' + params[key];
}).join('&');
var sApp = startApp.set(appScheme + urlInfo + str) ;
// Method 2 - opens & passes vars BUT in same app window
} else if (schemeType == 1) {
var str = Object.keys(params).map(function(key) {
return key + '=' + params[key];
}).join('&');
var sApp = startApp.set({
"action" : "ACTION_VIEW","intentstart" : "startActivity","uri" : appScheme + urlInfo + str,}) ;
// Method 3 - opens & passes vars in NEW window - works perfect
} else {
var sApp = startApp.set({
"intentstart" : "startActivity","application" : "com.externalAppName"
},params) ;
}
sApp.start(function() { // success
}
对于方法2,我是否可以使用特定的ACTION或INTENT强制外部应用程序在新窗口中打开?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。