【问题标题】:How to get backbutton to act like homebutton cordova in android如何让后退按钮像android中的主页按钮cordova一样
【发布时间】:2015-08-12 17:03:28
【问题描述】:

在 android 中按下后退按钮时,我希望应用程序关闭并暂停,而不是终止,就像按下主页按钮时一样。有没有办法在科尔多瓦(离子)中做到这一点?比如什么方法/事件是“homebutton”触发?

谢谢

【问题讨论】:

  • 你不应该尝试这样做。 Android 中的后退和主页按钮的行为是明确定义的并且用户可以理解 - 更改该行为可能会引起烦恼。如果您描述为什么您希望应用暂停而不是关闭可能会更好 - 可能会有更好的解决方案。
  • 你可能是对的。这种情况是当我要求通过短信验证电话号码并且用户按下退出应用程序的后退按钮时。然后用户读取短信代码,重新启动我的应用程序并显示注册屏幕。我想到的一种解决方案是使用本地存储,但这似乎比让后退按钮像主页按钮那样表现为“关闭和暂停应用程序”要复杂得多。然后,当他/她重新进入时,用户将看到验证屏幕。
  • 我可能会尝试使用SharedPreferences 来保存“等待验证”状态,并在启动应用程序时使用它来显示正确的屏幕。 SharedPreferences 是为这类事情设计的非常简单的键值存储。我不确定 ionic 是否支持它。

标签: android cordova ionic-framework back-button android-homebutton


【解决方案1】:

可能还为时不晚。其实我也在尝试同样的方法。我没有得到任何解决方案。所以我为它创建了一个插件。请参考此链接Cordova Plugin - Back As Home

添加插件

cordova plugin add https://github.com/amitsinha559/cordova-plugin-back-as-home.git

如果您想返回主页按钮,请将此代码添加到 .run

$ionicPlatform.registerBackButtonAction(function(e){
    backAsHome.trigger(function(){
        console.log("Success");
    }, function(){
        console.log("Error");
    });
    e.preventDefault();
},101);

注意:现在我没有设备。上面的代码我没有测试过。

如果您想在某些按钮操作中使用

$scope.someButton = function() {
    backAsHome.trigger(function(){
        console.log("Success");
    }, function(){
        console.log("Error");
    });
}

希望它会有所帮助:)。如果您遇到任何问题,请告诉我。

【讨论】:

  • 我想在 sencha touch+cordova 应用程序中应用这个插件?会好吗?
  • @liamxu.. 我不确定,但它应该可以工作.. 请尝试一次,让我知道 :)
【解决方案2】:
$ionicPlatform.registerBackButtonAction(function () {
  if ($state.current.name == "signIn"){
    navigator.app.exitApp();
  } else {
    navigator.app.backHistory();
  }
}, 100);

作为参考,请查看注册后退按钮操作下的blogspot,如果您有任何疑问,请回复我

【讨论】:

    猜你喜欢
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-17
    • 2011-01-01
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多