PopUp diálogo Android de hilo de fondo

Necesito un diálogo emergente para ser mostrado cuando consigo un mensaje del hilo diferente pero el diálogo no debe ser dependiente de la actividad es decir, él debe exhibir el diálogo dondequiera que el foco de la pantalla es.

Se puede hacer? Debido a que el diálogo se maneja por actividad, pensé en usar un servicio, pero de nuevo sería un hilo añadido y quiero evitarlo.

¿Hay otras opciones disponibles?

Si está intentando preguntar cómo mostrar un diálogo cuando su actividad no es la actividad enfocada en el teléfono del usuario, pruebe a usar Notificaciones. Hacer estallar un diálogo sobre una aplicación diferente interrumpe al usuario cuando pueden estar haciendo otra cosa. De las pautas de la interfaz de usuario de Android :

Utilice el sistema de notificación – no utilice cuadros de diálogo en lugar de notificaciones

Si su servicio de fondo necesita notificar a un usuario, utilice el sistema de notificación estándar – no utilice un diálogo o un brindis para notificarlos. Un diálogo o tostado inmediatamente se enfocaría e interrumpiría al usuario, centrándose en lo que estaban haciendo: el usuario podría estar en medio de escribir texto en el momento en que aparezca el diálogo y podría actuar accidentalmente en el diálogo. Los usuarios están acostumbrados a hacer frente a las notificaciones y pueden bajar la pantalla de notificación en su conveniencia para responder a su mensaje.

Una guía para crear notificaciones está aquí: http://developer.android.com/guide/topics/ui/notifiers/notifications.html

Solución alternativa :

AlertDialog dialog; //add this to your code dialog = builder.create(); Window window = dialog.getWindow(); WindowManager.LayoutParams lp = window.getAttributes(); lp.token = mInputView.getWindowToken(); lp.type = WindowManager.LayoutParams.TYPE_APPLICATION_ATTACHED_DIALOG; window.setAttributes(lp); window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); //end addons alert.show(); 

Si te entiendo correctamente podrías usar una clase base para todas tus actividades

 public abstract class BaseActivity extends Activity{ protected static BaseActivity current_context = null; @override protected void onPause(){ current_context = null; super.onPause(); } @override protected void onResume(){ current_context = this; super.onResume(); } public static void showDialog(/*your parameters*/){ //show nothing, if no activity has focus if(current_context == null)return; current_context.runOnUiThread(new Runnable() { @override public void run(){ AlertDialog.Builder builder = new AlertDialog.Builder(current_context); //your dialog initialization builder.show(); } }); } } 

En su hilo mostrar su diálogo con BaseActivity.showDialog(..) Pero este enfoque no funciona si desea mostrar su diálogo en la parte superior de cualquier actividad del dispositivo de destino.

  • Inicio del servicio de fondo cuando se enciende Android
  • ¿Puedo iniciarService desde la aplicación # onCreate ()?
  • Android: mantener el servicio en ejecución cuando se mata la aplicación
  • Diferencia entre los receptores de servicio y difusión en android
  • Vinculante para ejecutar el servicio (después de finish ()) / callback Handler
  • Cómo ensayar un servicio de Android que depende de una conexión de red
  • El servicio de fondo de Android se está reiniciando cuando se cancela la aplicación
  • BadParcelableException: ClaseNotFoundException al unmarshalling
  • Actualización de Textview en una actividad con servicio local
  • ¿Cómo actualizar un TextView en una actividad de un servicio en Android?
  • Diseño de hilos múltiples de Android Service
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.