Android 向混合应用程序添加本机功能
我们有一个爱奥尼亚应用程序,我们想在其中添加一个新的功能在本机。因此,点击应用程序中的一个按钮,将启动一个插件,就像在UI上的普通插件一样。然而,当我想自由地从插件端到Ionic端来回导航时,会出现复杂性 考虑以下情况:Android 向混合应用程序添加本机功能,android,cordova,ionic-framework,cordova-plugins,hybrid-mobile-app,Android,Cordova,Ionic Framework,Cordova Plugins,Hybrid Mobile App,我们有一个爱奥尼亚应用程序,我们想在其中添加一个新的功能在本机。因此,点击应用程序中的一个按钮,将启动一个插件,就像在UI上的普通插件一样。然而,当我想自由地从插件端到Ionic端来回导航时,会出现复杂性 考虑以下情况: 插件打开一个HTML页面,该页面基于用户在爱奥尼亚一侧编写 行动。单击此html页面上的后退将再次返回插件UI 在爱奥尼亚和安卓/iOS端维护后台堆栈,以便顺利进行后台导航 到目前为止,我所做的是使用sendPluginResult方法将不同的代码传递到Ionic端并打开所需的
HTML页面
,该页面基于用户在爱奥尼亚一侧编写
行动。单击此html页面上的后退将再次返回插件UI后台堆栈
,以便顺利进行后台导航sendPluginResult
方法将不同的代码传递到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);
希望能有帮助