Buen día, estoy tratando de mostrar un cuadro de diálogo de alerta después de un reinicio del sistema en un receptor de difusión. He agregado el receptor en mi manifiesto y llamé al permiso requerido, pero recibo un error al mostrar el diálogo. Por favor, ¿Cómo puedo aplicar esto correctamente .. Graciasmuestra un diálogo de alerta en el receptor de difusión después de un reinicio del sistema
mi código:?
public void onReceive(final Context context, Intent intent) {
Log.d(TAG, "received boot completed broadcast receiver... starting settings");
String settings = context.getResources().getString(R.string.restart_setting);
String yes = context.getResources().getString(R.string.Settings);
String no = context.getResources().getString(R.string.Cancel);
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage(settings)
.setCancelable(false)
.setPositiveButton(yes, new DialogInterface.OnClickListener() {
public void onClick(@SuppressWarnings("unused") final DialogInterface dialog, @SuppressWarnings("unused") final int id)
Intent config = new Intent(context, WeatherConfigure.class)
context.startActivity(config);
}
})
.setNegativeButton(no, new DialogInterface.OnClickListener() {
public void onClick(final DialogInterface dialog, @SuppressWarnings("unused") final int id) {
dialog.cancel();
}
});
final AlertDialog alert = builder.create();
alert.show();
}
estoy recibiendo este error de registro:
01-07 01:42:01.559: ERROR/AndroidRuntime(2004): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
01-07 01:42:01.559: ERROR/AndroidRuntime(2004): at android.view.ViewRoot.setView(ViewRoot.java:548)
01-07 01:42:01.559: ERROR/AndroidRuntime(2004):at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
01-07 01:42:01.559: ERROR/AndroidRuntime(2004): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
01-07 01:42:01.559: ERROR/AndroidRuntime(2004):at android.app.Dialog.show(Dialog.java:288)
01-07 01:42:01.559: ERROR/AndroidRuntime(2004):at com.MuaaApps.MyWeatherUpdate.myWeatherBroadcastReceiver.onReceive(MyWeatherBroadcastReceiver.java:59)
01-07 01:42:01.559: ERROR/AndroidRuntime(2004): at android.app.ActivityThread.handleReceiver(ActivityThread.java:1994)
Un mensaje de Toast o una notificación podría ser más apropiado en este caso, en lugar de disparar al usuario con un cuadro de diálogo de alerta cuando su teléfono se enciende. – cottonBallPaws
@littleFluffyKitty, sí entiendo lo que quieres decir. Estoy probando diferentes escenarios para ver cuál creo que dará una buena experiencia de usuario, pero debo admitir que la sugerencia de notificación que hizo es una opción muy atractiva. no pensé en eso. Gracias – irobotxxx