window.open() 使我的应用程序在黑莓 10 上崩溃
window.open() makes my app crash on blackberry10
我正在为我的 blackberry10
申请而苦苦挣扎。基本上,我想通过按下确认对话框中的按钮来打开我的应用程序的 BlackBerry World
页面。
function onButtonPressed() {
var url = "appworld.blackberry.com/webstore/content/XXXXXXXX"
window.open( url, "_blank" );
}
但是在按下我的按钮后,应用程序立即崩溃,调试控制台中没有任何错误。我也尝试使用 "_system"
而不是 "_blank"
但没有成功。然而,在 android
上,我的方法完美无缺。
对于investigate/solve这个问题是否有进一步的提示或提示?
我使用另一个 cordova
插件解决了我的问题。
cordova plugin add cordova-plugin-bb-invoke
现在我可以直接打开 BlackBerry World
应用程序了:
function openAppStore() {
var platform = $cordovaDevice.getPlatform().toLowerCase();
var url;
switch( platform ) {
case "blackberry10":
url = "appworld://content/xxxxxxxx";
break;
default:
url = "anotherPlatformUrl"
}
if( platform === "blackberry10" ) {
blackberry.invoke.invoke( {
uri : url
}, onInvokeSuccess, onInvokeError );
} else {
window.open( url, "_system" );
}
function onInvokeSuccess() {
console.log( "Invoke Success!" );
}
function onInvokeError( error ) {
console.log( "!!! Invoke Error: ", error );
}
}
我正在为我的 blackberry10
申请而苦苦挣扎。基本上,我想通过按下确认对话框中的按钮来打开我的应用程序的 BlackBerry World
页面。
function onButtonPressed() {
var url = "appworld.blackberry.com/webstore/content/XXXXXXXX"
window.open( url, "_blank" );
}
但是在按下我的按钮后,应用程序立即崩溃,调试控制台中没有任何错误。我也尝试使用 "_system"
而不是 "_blank"
但没有成功。然而,在 android
上,我的方法完美无缺。
对于investigate/solve这个问题是否有进一步的提示或提示?
我使用另一个 cordova
插件解决了我的问题。
cordova plugin add cordova-plugin-bb-invoke
现在我可以直接打开 BlackBerry World
应用程序了:
function openAppStore() {
var platform = $cordovaDevice.getPlatform().toLowerCase();
var url;
switch( platform ) {
case "blackberry10":
url = "appworld://content/xxxxxxxx";
break;
default:
url = "anotherPlatformUrl"
}
if( platform === "blackberry10" ) {
blackberry.invoke.invoke( {
uri : url
}, onInvokeSuccess, onInvokeError );
} else {
window.open( url, "_system" );
}
function onInvokeSuccess() {
console.log( "Invoke Success!" );
}
function onInvokeError( error ) {
console.log( "!!! Invoke Error: ", error );
}
}