对于我们公司,我们使用Mobicontrol Soti推出了许多设备。这样一来,我们就可以将设备锁定在称为信息亭模式的状态,该模式将禁止使用主屏幕,并提供了一个自定义屏幕,其中只有我们可以决定使用的启动应用。
提供的应用程序之一是Ionic应用程序,该应用程序在浏览器(Soti Surf)中打开链接,但这会带来2个问题。
HTML:
<div (click)="$ctrl.doTheThing()"> something </div>
JS:
private doTheThing() {
this.inAppBrowser.create('surfs://' + url.replace(/^(https?:|)\/\//, ''), '_system');
}
首先,当我使用android后退按钮时,单击似乎不再起作用(我已在doTheThing
函数的第一行中添加了警报,但未显示任何内容)。
该应用程序中的其他按钮似乎工作正常,当使用切换应用程序按钮时,它也可以工作
我尝试过:
preventDefault()
stopPropagation()
tappable
属性(tap)
而非(click)
,但似乎没有任何作用。有人有解决此问题的想法吗?
注意:这不太重要 当打开链接时,它会记住最后一页(在soti浏览中),因此,使用后退箭头,它会首先导航到最后一个链接,当没有更多后退位置时,它将返回到应用程序
我尝试过:
inAppBrowser.create()
的返回值并在返回我的应用程序时调用close()
cordova -v
:8.1.2(cordova-lib@8.1.1)npm -v
:6.4.1 ionic
:4.12.0 答案 0 :(得分:0)
在离子方面,您可以使用Navbar
类并使用生命周期挂钩方法来阻止设备后退按钮
这是一个样本
ionViewDidLoad() {
this.navBar.backButtonClick = (e: UIEvent) => {
// todo something
if (condition )
{
this.getSaveDialog();
} else{
this.navCtrl.pop();
}
})
}
要在应用中的 Appbrowser 中打开,将失去对事件的控制,您无法跟踪和管理 页面状态。 可以通过浏览器进行维护。您需要在正在
中打开的应用程序中放置黑客或其他方法