在BroadcastReceiver中创建通知时的非法参数异常



我使用以下代码在我的BroadcastReceiveronRecieve方法内创建通知,但它给了我以下例外:

java.lang.IllegalArgumentException: contentIntent required

代码:

 NotificationManager notificationManager;
        notificationManager = (NotificationManager) context
                .getSystemService(Context.NOTIFICATION_SERVICE);
    String tickerText;
    String expandedText;
    String expandedTitle;
    int icon;
    long when;
    Notification notification;
    int notificationref = new Random().nextInt(100) + 1;
    icon = R.drawable.reminder;
    tickerText = "New Reminder";
    when = System.currentTimeMillis();
    notification = new Notification(icon, tickerText, when);
    expandedText = "Reminder at: "
            + DateOrTimeString.getTimeString(task.time) + "n"
            + task.detail;
    expandedTitle = "Reminder:" + task.topic;
    Intent intentDestroyer = new Intent(context, RemindHomeActivity.class);
    intentDestroyer.putExtra("ID", task.id);
    intentDestroyer.putExtra("NOTIFICATIONREF", notificationref);
    launchIntent = PendingIntent.getActivity(context, notificationref,
            intentDestroyer, 0);
    notification.setLatestEventInfo(mContext, expandedTitle, expandedText,
            null);
    notificationManager.notify(1, notification);

还有一件事,这个问题只在API级别低于11时出现。

你需要设置contentIntent

void android.app.Notification.setLatestEventInfo(Context context, CharSequence contentTitle, CharSequence contentText, PendingIntent contentIntent)‬

在你的例子中:

notification.setLatestEventInfo(mContext, expandedTitle, expandedText,
            launchIntent );

相关内容

  • 没有找到相关文章

最新更新