Call:
public static void triggerTestNotification(Context ctx, String tag, int id) { Notification not = new NotificationCompat.Builder(ctx) .setContentTitle("Title").setContentText("Text") .setAutoCancel(true)
in onCreate() my main action gives:
11-17 15:58:46.198: E/AndroidRuntime(1507): FATAL EXCEPTION: main 11-17 15:58:46.198: E/AndroidRuntime(1507): java.lang.RuntimeException: Unable to start activity ComponentInfo{gr.uoa.di.monitoring.android/gr.uoa.di.monitoring.android.activities.MainActivity}: java.lang.IllegalArgumentException: contentIntent required: pkg=gr.uoa.di.monitoring.android id=0 notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x10) //... 11-17 15:58:46.198: E/AndroidRuntime(1507): Caused by: java.lang.IllegalArgumentException: contentIntent required: pkg=gr.uoa.di.monitoring.android id=0 notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x10) 11-17 15:58:46.198: E/AndroidRuntime(1507): at android.os.Parcel.readException(Parcel.java:1326) 11-17 15:58:46.198: E/AndroidRuntime(1507): at android.os.Parcel.readException(Parcel.java:1276) 11-17 15:58:46.198: E/AndroidRuntime(1507): at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag(INotificationManager.java:274) 11-17 15:58:46.198: E/AndroidRuntime(1507): at android.app.NotificationManager.notify(NotificationManager.java:133) 11-17 15:58:46.198: E/AndroidRuntime(1507): at gr.uoa.di.monitoring.android.C.triggerTestNotification(C.java:200) 11-17 15:58:46.198: E/AndroidRuntime(1507): at gr.uoa.di.monitoring.android.activities.MainActivity.onCreate(MainActivity.java:44) 11-17 15:58:46.198: E/AndroidRuntime(1507): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 11-17 15:58:46.198: E/AndroidRuntime(1507): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722) 11-17 15:58:46.198: E/AndroidRuntime(1507): ... 11 more
Pay attention to contentIntent .
However, docs could not be more comprehensible :
Required Notification Content
The notification object should contain the following:
Small icon setSmallIcon ()
Header given by setContentTitle ()
Detailed text given by setContentText ()
Advanced settings and notification settings
All other settings and contents of notifications are optional. To learn more about them, see the Help documentation for NotificationCompat.Builder.
This opinion is reflected in various SO answers and leads to SO questions (and one more ).
workaround:
final Intent emptyIntent = new Intent(); PendingIntent pi = PendingIntent.getActivity(ctx, NOT_USED, emptyIntent, PendingIntent.FLAG_UPDATE_CURRENT);
But is it really necessary? Is there any Android docs error in this situation? Is it API dependent?
NB my target SDK is 17 and runs this on phone 2.3.7
android android-notifications
Mr_and_Mrs_D Nov 17 '13 at 15:08 2013-11-17 15:08
source share