NotificationManager.notify抛出IllegalArgumentException

时间:2012-11-22 20:40:04

标签: android notifications

我有NotificationManager成功创建Notification

 private void showNotification() {
    Notification notification = new Notification(R.drawable.snog_icon, getString(R.string.sn_g_entering_beacon_mode_),
            System.currentTimeMillis());

    // The PendingIntent to launch our activity if the user selects this notification
    Intent i = new Intent(this, SnogActivity.class);
    i.putExtra("fromNotification", "yes");

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, i, 0);

    notification.setLatestEventInfo(this, getString(R.string.sn_g_avalanche_buddy),
                   getString(R.string.beacon_mode_activated_), contentIntent);
    notification.flags |= Notification.FLAG_ONGOING_EVENT; // Notification.DEFAULT_ALL 

    // Send the notification.
    // We use a string id because it is a unique number.  We use it later to cancel.
    mNM.notify(R.string.service_started, notification);
}

该部分工作正常并显示我的通知,并在点击通知时启动正确的活动。稍后在应用程序中,我尝试通知一个简单的通知:

Notification not = new Notification(R.drawable.snog_icon, "checker", System.currentTimeMillis());
not.flags |= Notification.DEFAULT_ALL;

mNM.notify(R.string.checker, not);

这会导致notify()来电中的应用与IllegalArgumentException一起崩溃。我应该根据一些互联网结果使用NotificationCompat.Builder,但这甚至都没有。

1 个答案:

答案 0 :(得分:0)

您可以修复此异常,但我宁愿通过使用NotifcationCompat从头开始。它可以在兼容包中找到,您必须通过右键单击您的eclipse项目>添加。 Android工具>添加支持库

在此之后,您将在项目中使用NotificationCompat ...然后访问网站:http://developer.android.com/guide/topics/ui/notifiers/notifications.html

那里有一些很好的例子。

祝你好运!