¿Cómo configurar la alarma cuando el móvil ha estado inactivo usando android?

Hola Quiero configurar la alarma cuando el teléfono no ha sido tocado. Si la pantalla no se ha tocado durante casi 2 minutos, el sonido de la alarma se elevaría. ¿Cómo puedo hacer esto? ¿Puede alguien ayudarme? Gracias por adelantado.

Pase el AlarmService a través del siguiente código. Esto determinará cuánto tiempo ha estado su dispositivo inactivo.

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(); } } 

Espero que esto te ayude.

Puede crear AlarmService para reproducir sonido incluso cuando la aplicación / dispositivo esté inactivo

Extender el método onUserInteraction de Activity Class para restablecer el temporizador y comenzar de nuevo durante dos minutos.

Si entiendo su pregunta correctamente, debe activar una alarma, cuando no hay ninguna interacción del usuario que haya ocurrido dentro de un intervalo de tiempo. Y uno de los requisitos principales, no hay actividad en ejecución en primer plano. Así que el caso con onUserInteraction no funciona para usted. En este caso aún puede recibir actualizaciones en cada acción de usuario si realiza su propio AccessibilityService.

Agregue esto a su manifiesto para declarar el servicio:

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

Y su implementación de servicios debe ser similar a esto:

 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!"); } } 

Ahora, cada vez que el usuario toque la pantalla por ejemplo, obtendrá onAccessibilityEvent () activado y podrá reiniciar un temporizador que lanzará su Alarma.

SIN EMBARGO, este enfoque tiene una desventaja: con el fin de que funcione, tendrá que ir a la configuración del teléfono -> Accesibilidad y habilitar su aplicación allí. De lo contrario, el sistema no iniciará su servicio.

  • Diferentes resultados de expresión regular en Java SE y plataforma Android
  • Android: cómo cambiar el estilo de editar texto?
  • nueva línea cuando se utiliza DataOutputStream, Android
  • Android: no se puede resolver el método 'findViewById (int)' en AsyncTask
  • Compruebe si un determinado objeto JSON está disponible o no
  • ¿Cómo envío un archivo csv / texto desde un teléfono Android a una impresora wifi?
  • Proguard no puede encontrar la clase referenciada com.google.ads.internal.state.AdState
  • ¿Es posible usar inflador de vista para inflar artículos individuales?
  • Establecer la fecha / hora de Android mediante programación
  • android.net.SntpClient falta en Android SDK
  • PercentRelativeLayout, cómo establecer la altura mediante programación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.