Android Phonegap - определить домашнюю кнопку? - PullRequest
0 голосов
/ 05 января 2012

У меня есть следующий скрипт, который отслеживает действия кнопки возврата Android -

document.addEventListener("backbutton", backKeyDown, true); 


function backKeyDown() { 


if($.mobile.activePage.is('#homepage')){
  setTimeout( function() {navigator.app.exitApp();}, 100 );

}
else {
    setTimeout( function() {$.mobile.changePage("#homepage");}, 100 );

}

}

Я бы также хотел закрыть приложение, когда физическая кнопка домой нажата - кто-нибудьзнаете, как это обнаружить?

Приветствия Пол

Ответы [ 3 ]

2 голосов
/ 06 января 2012

Вы не можете сделать это, но вы можете убить свое приложение методом onPause(), вместо этого см. Больше здесь

EDIT:

Выполнение этого в onPause приведет к тому, что ваше приложение будет убито каждый раз, когда пользователь покидает действие, я не уверен, есть ли способ сделать то, что вы хотите в Android, хотя, также не рекомендуется!

Вы можете создать некоторую сложную систему широковещательного обмена сообщениями, которая будет отправлять сообщения от ваших действий в экземпляр приложения через заданный интервал времени, и если вы не получите никакого сообщения в экземпляре приложения в течение x секунд, то вы знаете, что приложение в фоновом режиме ..

Это можно сделать с помощью базового класса действий, который отправляет сообщения за x секунд до вызова onPause, и расширить это действие во всех других используемых вами действиях, чтобы вы могли иметь такое поведение.

Это, безусловно, не лучший вариант, который существует и будет потреблять заряд батареи в зависимости от реализации, поэтому вы должны быть действительно уверены, что вам это нужно, прежде чем реализовывать такую ​​вещь.

0 голосов
/ 08 января 2012

Я согласен с Adil ... но если вы действительно хотите или должны выйти из приложения, добавление того же прослушивателя / функции для события "паузы" PhoneGap, вероятно, сработает.

0 голосов
/ 06 января 2012

Захват события аппаратного ключа Home - плохой подход, и Android никогда не позволит вам сделать это. а для закрытия приложения Android Framework автоматически отправит ваше приложение в фоновый режим, поэтому вам не нужно заботиться о закрытии приложения при нажатии кнопки Home.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...