BroadCastReceiver中的通知无效

时间:2017-11-18 13:03:34

标签: android

我遇到了BroadcastReceiver()中的Notification问题。 据我所知,我的代码之前工作正常,但它现在不起作用。 有时会出现NotificationTicker,但没有出现标题和内容。 这是我的代码。我的搜索无法帮助我找到问题所在。

这是我的代码:

private void MyNotification(Context context) {

    String NotificqationText = "NotificqationText";
    String NotificationTitle = "NotificationTitle ";
    String NotificationTicker = "NotificationTicker";
    PendingIntent MyPendingIntent = PendingIntent.getActivity(context, 0, new Intent(context, Splash.class), 0);


    NotificationCompat.Builder MyNB = new NotificationCompat.Builder(context);
    MyNB.setSmallIcon(R.drawable.icon);
    MyNB.setContentTitle(NotificationTitle);
    MyNB.setContentText(NotificqationText);
    MyNB.setTicker(NotificationTicker);
    MyNB.setAutoCancel(true);
    MyNB.setContentIntent(MyPendingIntent);

    Bitmap MyPicture = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon);
    MyNB.setLargeIcon(MyPicture);

    NotificationCompat.BigPictureStyle MyPicStyle = new NotificationCompat.BigPictureStyle().bigPicture(MyPicture);
    MyPicStyle.setSummaryText("Etude can makes our life Enlightened");
    MyNB.setStyle(MyPicStyle);


    MyNB.setStyle(new NotificationCompat.BigTextStyle());
    NotificationCompat.BigTextStyle MyText = new NotificationCompat.BigTextStyle();
    MyText.bigText(NotificqationText);
    MyText.setBigContentTitle(NotificationTitle);

    NotificationManager MyNotifyManager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
    MyNotifyManager.notify(1, MyNB.build());

}

我使用Toast消息查找我的广播接收器是否正常工作,发现广播工作正常,只有通知有问题

1 个答案:

答案 0 :(得分:0)

试试这段代码:

private void MyNotification(Context context) {

    String NotificqationText = "NotificqationText";
    String NotificationTitle = "NotificationTitle ";
    String NotificationTicker = "NotificationTicker";
    Intent intent = new Intent(this, Splash.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |(Intent.FLAG_ACTIVITY_SINGLE_TOP
            | Intent.FLAG_ACTIVITY_CLEAR_TASK));
    PendingIntent MyPendingIntent = PendingIntent.getActivity(this, 0,
            intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT);


    Bitmap MyPicture = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon);

    Notification MyNB = new Notification.Builder(this)
    .setSmallIcon(R.drawable.icon)
    .setLargeIcon(MyPicture)
    .setStyle()
    .setBigContentTitle(NotificationTitle)
    .setContentTitle(NotificationTitle)
    .setContentText(NotificqationText)
    .setTicker(NotificationTicker)
    .setAutoCancel(true)
    .setContentIntent(MyPendingIntent)
    .build();
    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    MyNB.flags |= Notification.FLAG_SHOW_LIGHTS;
    MyNB.flags |= Notification.FLAG_AUTO_CANCEL;
    MyNB.defaults = Notification.DEFAULT_ALL;

    notificationManager.notify((int)System.currentTimeMillis(), MyNB);
    }