2014-11-28 2 views
0

Можно ли обрабатывать некоторые отделочные материалы, когда пользователь нажимает кнопку X в DismissOverlayView? Как сохранить некоторые файлы и т. Д.Handle event после DismissOverlayView (Android Wear)

В качестве альтернативы, я хотел бы приостановить приложение перед кнопкой X и возобновить, если X не выбран.

ответ

0

Я предполагаю, что он будет вызывать методы onPause(), onStop() и onDestroy() вашей активности, которые обычно обрабатывают описанные вами вещи, такие как сохранение данных. Вы должны взглянуть на Android Activity's lifecycle, что также относится к Android Wear. В частности, вот что он говорит о onPause(): «Вызывается, когда система вот-вот начнет возобновление предыдущего действия. Обычно это используется для передачи несохраненных изменений в постоянные данные, остановки анимаций и других вещей, которые могут потреблять процессор и т. Д. «. Похоже на то, что вы хотите.

+0

Спасибо. Это если пользователь нажимает кнопку X (тогда вызывается onDestroy). Что делать, если пользователь не нажимает кнопку X? Любая идея, могу ли я что-нибудь сделать в некоторых функциях? –

+0

Справа. Я не уверен, есть ли способ узнать, если/когда пользователь не нажимает на него. С другой стороны, я не понимаю, почему это необходимо; ваше приложение должно работать как обычно, даже если X показывается, пока они не нажмут на него. Таким образом, если они не нажимают на него, ваше приложение по-прежнему ведет себя так же, как до их длительного нажатия. –

+0

Я даю вам сценарий: я написал игру, которую хочу ПАУЗА, когда пользователь долгое время нажимает, если пользователь не выходит, я хотел бы НЕПРЕРЫВАТЬ и продолжить игру. –

0

Это позволит получить событие выбора вокруг края DismissOverlayView:

DismissOverlayView dismissOverlayView = (DismissOverlayView) findViewById(R.id.dismiss_overlay); 
    dismissOverlayView.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      if (event.getAction() == MotionEvent.ACTION_UP) { 
       Log.d("Cancelled DismissOverlayView"); 
      } 
      return false; 
     } 
    });