Android - java.lang.IllegalArgumentException: contentIntent required error caused by notification?

北慕城南 提交于 2019-12-03 22:42:56

you need to set the contentIntent for your notification.

in your case:

notification.contentIntent = notificationIntent;

otherwise you will get the message, that the contentIntent of the notification is null, because it's not set.

the docu is here: http://developer.android.com/reference/android/app/Notification.html#contentIntent

i have a little example here: http://united-coders.com/nico-heid/show-progressbar-in-notification-area-like-google-does-when-downloading-from-android

I think this is because the Android OS Version

The version 2.3 or lower,must set contentIntent,if not,you will get this Exception.

In my project,I write like this:

if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) { Intent intent = new Intent(); PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent, 0); mNotification.contentIntent = contentIntent; }

Perhaps this could help you!

In your case

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

if you want to use Intents with the same action but different extras:

1) Change

requestCode

from default "0" in

getActivity (Context context, int requestCode, Intent intent, int flags)

to something unique like `

(int) System.currentTimeMillis();

` 2)

notification.contentIntent = notificationIntent;

Both steps are mandatory because:

  • Option 2 will not work without option 1.
  • Option 1 will throw IllegalArgumentException without 2.

In my case, I had an example code to do, with a single Notification to create, and I also got "contentIntent required" error - google brought me to this thread :D

the source of this problem were quotations that I copied from an example code and pasted it in eclipse project. When I deleted " " and typed them back and problem was solved. Maybe this helps someone.

These were quotations source of error: nb.setContentTitle("My first notification!"); nb.setContentText("Hello");

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!