android gcm推送通知只播放声音,不显示在顶部

时间:2015-09-21 15:54:14

标签: android push-notification google-cloud-messaging

收到GCM发来的消息后,我正在生成通知

/**
 * Create and show a simple notification containing the received GCM message.
 *
 * @param message GCM message received.
 */
private void sendNotification(String message) {
    Intent intent = new Intent(this, MyActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
            PendingIntent.FLAG_ONE_SHOT);

    Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.ic_action_chat)
            .setContentTitle("GCM Message")
            .setContentText(message)
            .setAutoCancel(true)
            .setSound(defaultSoundUri)
            .setContentIntent(pendingIntent);

    NotificationManager notificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
}

生成通知,声音播放,但不会显示在屏幕顶部。通知显示在快速设置/通知下拉菜单中,但在我生成时,它不显示在屏幕顶部,只播放声音。

我希望在生成它时在屏幕顶部显示它。我该怎么做?

2 个答案:

答案 0 :(得分:3)

这是一个从head lollipop开始的抬头通知,你在这里查看如何显示你可以在这里看到的通知http://developer.android.com/guide/topics/ui/notifiers/notifications.html,对于抬头你需要设置通知优先级如下

.setPriority(Notification.PRIORITY_HIGH)

编辑11月17日

在API级别26中弃用了

Notification.PRIORITY_HIGH 。请改为使用 IMPORTANCE_HIGH

答案 1 :(得分:0)

在我的情况下,我必须做

.setSmallIcon(R.drawable.my_icon)