java.lang.NoSuchMethodError: android.app.Notification$Builder.setColor
java.lang.NoSuchMethodError: android.app.Notification$Builder.setColor
final Notification.Builder mBuilder = new Notification.Builder(this)
.setSmallIcon(R.drawable.bwf_logo)
.setColor(getResources().getColor(android.R.color.white)) // **exception raised at this line**
.setContentTitle("Title")
.setStyle(
new Notification.BigTextStyle()
.bigText(notificationMessage))
.setAutoCancel(true)
.setSound(
RingtoneManager
.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setVibrate(vibrate).setContentText(notificationMessage);
mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
01-17 21:14:44.450: W/dalvikvm(27472): threadid=38: thread exiting with uncaught exception (group=0x41004318)
01-17 21:14:44.450: E/AndroidRuntime(27472): FATAL EXCEPTION: IntentService[GCMIntentService]
01-17 21:14:44.450: E/AndroidRuntime(27472): java.lang.NoSuchMethodError: android.app.Notification$Builder.setColor
01-17 21:14:44.450: E/AndroidRuntime(27472): at com.bwf.betswithfriends.GCMIntentService.gcmAlternateStakeNotification(GCMIntentService.java:109)
01-17 21:14:44.450: E/AndroidRuntime(27472): at com.bwf.betswithfriends.GCMIntentService.onHandleIntent(GCMIntentService.java:51)
01-17 21:14:44.450: E/AndroidRuntime(27472): at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
01-17 21:14:44.450: E/AndroidRuntime(27472): at android.os.Handler.dispatchMessage(Handler.java:99)
01-17 21:14:44.450: E/AndroidRuntime(27472): at android.os.Looper.loop(Looper.java:137)
01-17 21:14:44.450: E/AndroidRuntime(27472): at android.os.HandlerThread.run(HandlerThread.java:60)
01-17 21:14:44.560: D/dalvikvm(27472): GC_CONCURRENT freed 3520K, 16% free 22535K/26695K, paused 14ms+24ms, total 131ms
支持库是最新的:-
setColor()
is new to API Level 21 并且不适用于旧设备。
我强烈建议您切换到NotificationCompat.Builder
,因为它将允许您调用setColor()
,并且会简单地跳过旧设备上的工作。
final Notification.Builder mBuilder = new Notification.Builder(this)
.setSmallIcon(R.drawable.bwf_logo)
.setColor(getResources().getColor(android.R.color.white)) // **exception raised at this line**
.setContentTitle("Title")
.setStyle(
new Notification.BigTextStyle()
.bigText(notificationMessage))
.setAutoCancel(true)
.setSound(
RingtoneManager
.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setVibrate(vibrate).setContentText(notificationMessage);
mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
01-17 21:14:44.450: W/dalvikvm(27472): threadid=38: thread exiting with uncaught exception (group=0x41004318)
01-17 21:14:44.450: E/AndroidRuntime(27472): FATAL EXCEPTION: IntentService[GCMIntentService]
01-17 21:14:44.450: E/AndroidRuntime(27472): java.lang.NoSuchMethodError: android.app.Notification$Builder.setColor
01-17 21:14:44.450: E/AndroidRuntime(27472): at com.bwf.betswithfriends.GCMIntentService.gcmAlternateStakeNotification(GCMIntentService.java:109)
01-17 21:14:44.450: E/AndroidRuntime(27472): at com.bwf.betswithfriends.GCMIntentService.onHandleIntent(GCMIntentService.java:51)
01-17 21:14:44.450: E/AndroidRuntime(27472): at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
01-17 21:14:44.450: E/AndroidRuntime(27472): at android.os.Handler.dispatchMessage(Handler.java:99)
01-17 21:14:44.450: E/AndroidRuntime(27472): at android.os.Looper.loop(Looper.java:137)
01-17 21:14:44.450: E/AndroidRuntime(27472): at android.os.HandlerThread.run(HandlerThread.java:60)
01-17 21:14:44.560: D/dalvikvm(27472): GC_CONCURRENT freed 3520K, 16% free 22535K/26695K, paused 14ms+24ms, total 131ms
支持库是最新的:-
setColor()
is new to API Level 21 并且不适用于旧设备。
我强烈建议您切换到NotificationCompat.Builder
,因为它将允许您调用setColor()
,并且会简单地跳过旧设备上的工作。