我们有一个 Ionic 应用程序,我们想在其中添加原生的新功能。因此,单击应用程序中的一个按钮,将启动一个插件,就像在 UI 等上使用它的普通插件一样。然而,当我想在插件端和 Ionic 之间自由来回导航时,问题就来了。
考虑这些场景:
- 用于打开基于用户在 Ionic 端编写的
HTML 页面
的插件 行动。点击返回此 html 页面将再次返回插件 UI。 - 在 Ionic 和 Android/iOS 端维护
后退堆栈
,以便后退导航顺利进行。
到目前为止,我所做的是使用 sendPluginResult
方法将不同的代码传递到 Ionic 端并打开所需的页面。实际上,自插件退出以来,它完全破坏了返回堆栈。
点击 Ionic 端的后退按钮,我实际上再次调用插件方法来模拟后退行为。
有没有更好的方法来处理这个问题?有人遇到过类似的问题吗?
最佳答案
希望我正确理解了您的问题。
假设你可以使用一些变量来检查这个插件是否刚刚打开了一个 html 页面,你可以这样做:
$ionicPlatform.registerBackButtonAction(function(event) {
if(/* check if plugin just opened html-page here */){
// if condition succeeds, then do not open same html-page again
event.preventDefault();
// go two steps backwards to prevent this plugin to open same html-page again
history.go(-2);
// update your variable
// ...
}
},100);
希望对您有所帮助。
关于android - 向混合应用程序添加 native 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48138732/