Невозможно обработать кнопку «Назад» на Android с помощью sencha touch 2 и Cordova.

Я разрабатываю приложение sencha touch 2 и упаковываю его с помощью Cordova для Android. Я хочу обрабатывать кнопку «Назад» Android через Cordova. Я написал приведенный ниже код в файле app.js моего проекта после добавления всех представлений в область просмотра.

if (Ext.os.is('Android')) {
          document.addEventListener("backbutton", Ext.bind(onBackKeyDown, this), false);

          function onBackKeyDown(e) {
              e.preventDefault();

              if (Ext.Viewport.getActiveItem().xtype == myHomeView.xtype ) {
                  navigator.app.exitApp();
              } else {
                 Ext.Msg.alert("Back button is pressed");
              }
          }
       }

Кроме того, я создал его с помощью командной строки.

1. cmd --> cordova create app com.basicapp.app "App"
2. Deleted all the content inside "www" folder and replaced with my project's content.
3. cmd --> cordova platform add android
4. Installed device plugin from cordova documentation.
5. cmd --> cordova build

Но я не могу справиться с кнопкой «Назад» на устройстве. Он просто закрывает приложение во всех представлениях. Событие готовности устройства не запускается? Может кто-нибудь объяснить мне, что я делаю неправильно здесь.


person Gogul    schedule 14.11.2014    source источник


Ответы (1)


arrow_upward
0
arrow_downward

Я смог заставить это работать, выполнив следующие действия:

  1. Добавил это в мой index.html

    <script type="text/javascript"> document.addEventListener("backbutton", MyApp.app.nativeBack(), false); </script>

  2. Определил эту функцию в моем приложении

    nativeBack: function() { console.log("back button was pushed..."); // navigationView.pop(), etc... }

Я упаковываю с помощью PG Build, но он должен работать так же.

person Ian Hunter    schedule 18.11.2014