Как настроить будильник, когда мобильный телефон работает без участия Android?

Привет, я хочу установить будильник, когда телефон не был затронут. Если экран не был затронут в течение почти 2 минут, звук будильника будет поднят. Как я могу это сделать? Кто-нибудь может мне помочь? Заранее спасибо.

Передайте AlarmService через приведенный ниже код. Это покажет, как долго ваше устройство находится в режиме ожидания.

idle.java

Handler hl_timeout = new Handler(); /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); try{ hl_timeout.postDelayed(DoOnTimeOut, 15000); }catch(Exception e) { e.printStackTrace(); } } // Toast Thread DoOnTimeOut = new Thread() { public void run() { try{ Toast.makeText(getApplicationContext(), "System is idle", Toast.LENGTH_LONG).show(); }catch(Exception e) { e.printStackTrace(); } } }; @Override public void onUserInteraction() { super.onUserInteraction(); //Remove any previous callback try{ hl_timeout.removeCallbacks(DoOnTimeOut); hl_timeout.postDelayed(DoOnTimeOut, 15000); }catch(Exception e) { e.printStackTrace(); } } 

Надеюсь, это вам поможет.

Вы можете создать AlarmService для воспроизведения звука, даже если приложение / устройство не работает

Расширьте метод onUserInteraction класса Activity, чтобы сбросить таймер и начать снова в течение двух минут.

Если я правильно понял ваш вопрос, вам нужно вызвать сигнал тревоги, когда в течение некоторого интервала времени не происходит никакого взаимодействия с пользователем. И одно из основных требований: на вашем рабочем столе нет вашей активности. Таким образом, случай с onUserInteraction не работает для вас. В этом случае вы все равно можете получать обновления для каждого действия пользователя, если вы создаете свой собственный AccessibilityService.

Добавьте это в свой манифест, чтобы объявить услугу:

  <service android:name=".MyAccessibilityService"> <intent-filter> <action android:name="android.accessibilityservice.AccessibilityService" /> </intent-filter> </service> 

И ваша реализация сервиса должна выглядеть примерно так:

 public class MyAccessibilityService extends AccessibilityService { @Override public void onServiceConnected() { AccessibilityServiceInfo info = new AccessibilityServiceInfo(); // we are interested in all types of accessibility events info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK; info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC; // we want to receive events in a certain interval info.notificationTimeout = 100; setServiceInfo(info); Log.e("ALEX", "service connected!"); } @Override public void onAccessibilityEvent(AccessibilityEvent arg0) { Log.e("ALEX", "Event happened!"); } } 

Теперь, когда пользователь прикоснется к экрану, например, вы активируете onAccessibilityEvent () и сможете перезапустить таймер, который запустит ваш Тревога.

ОДНАКО, этот подход имеет один недостаток: чтобы он работал, вам нужно перейти к настройкам телефона -> Доступность и включить ваше приложение. В противном случае система не будет запускать вашу службу.

Intereting Posts
Возможно ли для Android VM собирать статические переменные без уничтожения всего приложения Android? Случай использования Android SyncAdapter Как я могу взаимодействовать с элементами за прозрачным Android-приложением? Отображение предупреждения или просмотра при получении уведомления Внутренняя ошибка (classFileParser.cpp: 3174), pid = 7288, tid = 7476 Как использовать setCamera (MediaRecorder)? Выполните действие над кнопкой Нажмите в пользовательском уведомлении: Android Ошибка: операция по умолчанию не найдена Как записывать экран и делать скриншоты, используя Android API? Посредничество AdMob (Android и iOS): как заставить сеть протестировать его? Ионный, удерживайте кнопку над клавиатурой на iOS Как отключить прокрутку RecyclerView? Интеграция Zbar в Android-приложение Как повысить производительность (первое время загрузки, гладкость прокрутки) GridView, рендеринга многих больших изображений? Не удалось найти метод XXX, на который ссылается метод YYY