¿Por qué Android está ignorando la creación de la Notificación?

Tengo código, y simplemente no funciona, así que pido a alguien que me ayude. Hay muy poca información sobre este asunto específico.

Actividad principal


public class MainActivity extends Activity { public final int PENDING_INTENT_ID = 8; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button clickity = (Button)findViewById(R.id.alarm_button); clickity.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Calendar now = Calendar.getInstance(); now.add(Calendar.SECOND, 20); //Create a new PendingIntent used by the Alarm when it activates Intent intent = new Intent(v.getContext(), AlarmReciever.class); intent.setAction("SOME_AWESOME_TRIGGER_WORD"); intent.putExtra("info", "This String shows that the info is actually sent correctly"); PendingIntent pendingIntent = PendingIntent.getBroadcast(v.getContext(), PENDING_INTENT_ID, intent, PendingIntent.FLAG_UPDATE_CURRENT|Intent.FILL_IN_DATA); //Then Create the alarm manager to send this pending intent and set the date to go off AlarmManager am = (AlarmManager)getSystemService(Activity.ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, now.getTimeInMillis(), pendingIntent); } }); } 

AlarmReciever (Aware que lo escribí mal, pero ya que es cómo es, voy con él)


 public class AlarmReciever extends BroadcastReceiver{ @Override public void onReceive(Context c, Intent arg1) { //get a reference to NotificationManager String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) c.getSystemService(ns); //Instantiate the notification CharSequence tickerText = "Hello"; long when = System.currentTimeMillis(); Notification.Builder builder = new Notification.Builder(c) .setTicker(tickerText) .setWhen(when) .setContentTitle(arg1.getStringExtra("info")) .setContentText("Success!!") .setAutoCancel(true); Notification notification = builder.getNotification(); mNotificationManager.notify(0, notification);//note the first argument, the ID should be unique } } 

Manifiesto


 <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="com.testproject.AlarmReciever" android:enabled="true" android:exported="false" > <intent-filter> </receiver> </application> 

Eso debe ser todo. Estoy tratando de ejecutarlo como es y no me muestra nada. Lo estoy ejecutando en un emulador es que realmente importa.

EDIT: Cuando digo que no funciona, quiero decir que no aparece nada. Corre muy bien, pero la Notificación nunca aparece.

La cuestión: Introduzca aquí la descripción de la imagen

Así que el problema se reduce a Android simplemente ignorando mi notificación. El problema es que no me dice por qué -_- así que no puedo arreglarlo. ¿Algún experto en la materia ve algo mal con mi código para llamar a una notificación? ¿Importa que esté en un emulador?

5 Solutions collect form web for “¿Por qué Android está ignorando la creación de la Notificación?”

 Intent intent = new Intent(v.getContext(), AlarmReciever.class); // intent.setAction("SOME_AWESOME_TRIGGER_WORD"); replace to: intent.setAction("com.testproject.SOME_AWESOME_TRIGGER_WORD"); 

Es al menos por primera vista

UPD:

 long firstTime = SystemClock.elapsedRealtime(); AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, /* INTERVAL IN MS */ 20 * 1000, /* PendingIntent */ intent); 

Me encontré con el mismo problema. Si no especifica un icono al crear una "nueva Notificación ()", la notificación no aparecerá.

Bueno, la lección aprendida en Notificaciones. La razón por la que estaba recibiendo el error fue porque un img DEBE ser añadido, si no, no se mostrará! Todo lo demás que tenía era básicamente justo con la excepción de lo que Vladimir fue graciosamente capaz de señalar. Publicar esto aquí en caso de otros están recibiendo un problema similar sólo probar las notificaciones.

Esto se debe a que no está configurando el icono de notificación. Si establece el icono de notificación debe funcionar. El registro en sí indica que no puede enviar una notificación sin una imagen.

Parece que te olvidaste de poner Icon .. Necesitas atleast establecer un icono predeterminado ..

Prueba esto..

 Notification.Builder builder = new Notification.Builder(c) .setTicker(tickerText) .setWhen(when) .setContentTitle(arg1.getStringExtra("info")) .setContentText("Success!!") .setAutoCancel(true) .setSmallIcon(R.drawable.ic_launcher); //<--- this one 
  • Cómo comunicarse entre un receptor de difusión de Android y un RemoteService
  • PACKAGE_REMOVED y luego PACKAGE_ADDED se disparan junto con PACKAGE_REPLACED Intent Action
  • Envío y recepción de SMS y MMS en Android (pre Kit Kat Android 4.4)
  • Huh? FindViewById () no se puede llamar dentro de onReceive ()?
  • Obtener múltiples transmisiones de intenciones?
  • Intercepción de SMS de Android sin icono de notificación o mensajes WAP-PUSH
  • ¿Puedo recibir emisiones de iOS como Android?
  • ¿Cómo detectar el cambio de estado Bluetooth con un receptor de difusión?
  • ¿Cómo puedo notificar una actividad en ejecución de un receptor de difusión?
  • Iniciar una actividad cuando la pantalla
  • La vinculación al servicio que ya fue iniciada por BroadcastReceiver crea una nueva instancia de servicio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.