personalizado - manual de programacion android pdf
¿Cómo descartar el diálogo del sistema en Android? (4)
Compruébelo por favor
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (! hasFocus) {
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(closeDialog);
}
}
Está trabajando en mi código.
Tengo que descartar este Dialog
sistema (Adjunto a continuación). Obtengo este valor, pero no puedo descartarlo programáticamente en el Servicio no en actividad.
Mi pregunta es:
- ¿Es posible descartarlo? en caso afirmativo, ayúdenme o guíenme sobre cómo lograrlo.
Intenta usar lo siguiente:
sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
Puede usar ACTION_CLOSE_SYSTEM_DIALOGS cuando se pierde el foco de la ventana. Pero tenga en cuenta que al hacerlo también evitará que el usuario apague el teléfono mientras se está ejecutando su aplicación porque el cuadro de diálogo Apagar también es un diálogo del sistema.
Puedes usar - ACTION_CLOSE_SYSTEM_DIALOGS
Acción de difusión: se transmite cuando una acción del usuario debe solicitar un diálogo de sistema temporal para descartar.
public static final String ACTION_CLOSE_SYSTEM_DIALOGS
Agregado en el nivel de API 1
Acción de difusión: se transmite cuando una acción del usuario debe solicitar un diálogo de sistema temporal para descartar. Algunos ejemplos de diálogos de sistema temporales son el cuadro de diálogo de notificaciones y el cuadro de diálogo de tareas recientes.
Valor constante: "android.intent.action.CLOSE_SYSTEM_DIALOGS"
Esta información se puede encontrar en el sitio del desarrollador de Android .
Ejemplo de trabajo-
Manifiesto de Android
<receiver android:name=".SystemDialogReceiver">
<intent-filter>
<action android:name="android.intent.
action.CLOSE_SYSTEM_DIALOGS" />
</intent-filter>
</receiver>
Archivo de clase
class SystemDialogReceiver extends BroadcastReceiver {
private static final String SYSTEM_DIALOG_REASON_KEY = "reason";
private static final String
SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)){
String dialogType = intent.
getStringExtra(SYSTEM_DIALOG_REASON_KEY);
if(dialogType != null && dialogType.
equals(SYSTEM_DIALOG_REASON_RECENT_APPS)){
Intent closeDialog =
new Intent(Intent.
ACTION_CLOSE_SYSTEM_DIALOGS);
context.sendBroadcast(closeDialog);
}
}
}
}