【问题标题】:Nativescript Android physical back button override?Nativescript Android物理后退按钮覆盖?
【发布时间】:2016-07-19 12:44:01
【问题描述】:

如何覆盖我的 android 物理后退按钮,以便我可以在它的事件上编写自己的代码。我正在使用最新的 nativescript。

【问题讨论】:

    标签: events button nativescript


    【解决方案1】:

    你可以试试这个:

    var applicationModule = require("application");
    var AndroidApplication = applicationModule.android;    
    var activity = AndroidApplication.startActivity || AndroidApplication.foregroundActivity || topmost().android.currentActivity || topmost().android.activity;
    activity.onBackPressed = () => {
       //Your code here
    };
    

    【讨论】:

    • 谢谢,由于某种原因,此箭头功能不起作用(不支持 ES6??),但我将其编辑为使用正常功能,所以感谢它有效!
    • 发现了一个错误..它可以工作一次,但在第二次之后,无论视图是什么,它都会开始运行与第一次相同的代码。
    • 嗯,这不会发生在我身上。我可以看看你的代码吗?
    • 嗯,我正在使用导航模块“返回”以及我希望用户去哪里。它以某种方式记住了要导航的第一个返回单击代码。我在屏幕按钮上使用相同的代码,它工作正常。这开始重复我单击后退按钮的第一个代码。然后,如果我转到其他视图并再次按下,它将从另一个视图运行相同的第一个代码。我不知道这怎么可能。
    • 进行了更多测试,我在多个不同的视图上有一个代码,每个视图中都有 Toast 文本,但编号是唯一的。第一次后按运行后,当我按回时,它开始在每个视图上重复相同的吐司。