Уведомление Android воспроизводит только звук, уведомление не отображается в ящике уведомлений

Я пытаюсь запустить уведомление в определенное время, используя AlarmManager и диспетчер уведомлений. я столкнулся со странной проблемой. при запуске уведомления воспроизводится только звук, но уведомление не отображается в панели уведомлений. я получил ошибку в журнале

04-26 11:32:09.217    1222-1222/? E/NotificationService﹕ WARNING: In a future release this will crash the app: com.example.shiv.selftweak

мой код .

Класс, который вызывает AlarmManager

        Intent intent1 = new Intent(this, FireNotification.class);
        PendingIntent pendingIntent = PendingIntent.getService(this, 1000, intent1, 0);
        AlarmManager am = (AlarmManager)this.getSystemService(ALARM_SERVICE);
        am.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),  pendingIntent);

Класс FireNotification

public class FireNotification extends Service {

    @Override
    public void onCreate() {
        Intent intent = new Intent(this, MainActivity.class);
        long[] pattern = {0, 300, 0};
        PendingIntent pi = PendingIntent.getActivity(this, 1234, intent, 0);
        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
                .setContentTitle("Self tweak")
                .setContentText("Habbits are waiting for last dones")
                .setVibrate(pattern)
                .setAutoCancel(false);

        mBuilder.setContentIntent(pi);
        mBuilder.setDefaults(Notification.DEFAULT_SOUND);
        mBuilder.setAutoCancel(false);
        NotificationManager mNotificationManager = (NotificationManager) this.getSystemService(NOTIFICATION_SERVICE);
        mNotificationManager.notify(1234, mBuilder.build());
    }

@Override
public IBinder onBind(Intent intent) {
    return null;
}

}

Android-манифест

 <service android:name=".FireNotification"></service>
        <intent-filter>

            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>

при срабатывании уведомления воспроизводится только звук. но он не отображается в ящике уведомлений, который не показывает никаких уведомлений.


person shiv garg    schedule 26.04.2015    source источник


Ответы (1)


Проблема в том, что вы не указали mBuilder.setSmallIcon(R.drawable.ic_launcher).

В основном вы должны установить smallIcon, contentTitle и contentText. Если вы пропустите какой-либо из них, уведомление не будет отображаться вообще! Это четко указано ЗДЕСЬ (также вы можете узнать больше о уведомления там же).

person Vesko    schedule 26.04.2015
comment
да я тоже так понял. Спасибо. но андроид должен генерировать исключение для того же - person shiv garg; 27.04.2015