Android通知仅声音播放通知未显示在通知抽屉中

问题描述:

我正在尝试使用AlarmManager和Notification Manager在特定时间触发通知.我面临一个奇怪的问题.发出通知时,仅播放声音,但通知未显示在通知抽屉中. 我在日志中出现错误

i am trying to fire notification in at a particular time using AlarmManager and Notification manager. i am facing a strange problem. when notification is fired only sound plays but notification is not shown in the notification drawer. i got an error in the log

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的类

The class which calls the 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类

FireNotification class

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>

当通知仅触发声音播放时.但是它没有显示在没有显示通知的通知抽屉中.

when notification fires only sound plays. but it is not getting shown in the notification drawer which shows no notification.

问题是您尚未指定mBuilder.setSmallIcon(R.drawable.ic_launcher).

基本上,您必须设置smallIconcontentTitlecontentText.如果您错过其中任何一个,通知将根本不会显示!明确指定了 HERE (您也可以阅读有关的更多信息那里也有通知).

Basically you have to set smallIcon, contentTitle and contentText. If you miss any of those the Notification will not be displayed at all! That's clearly specified HERE (also you can read more about notifications there as well).