diff --git a/src/android/com/plugin/gcm/GCMIntentService.java b/src/android/com/plugin/gcm/GCMIntentService.java index af0ae1a..30ba995 100644 --- a/src/android/com/plugin/gcm/GCMIntentService.java +++ b/src/android/com/plugin/gcm/GCMIntentService.java @@ -9,9 +9,11 @@ import android.app.PendingIntent; import android.content.Context; import android.content.Intent; +import android.content.res.Resources; import android.os.Bundle; import android.support.v4.app.NotificationCompat; import android.util.Log; +import android.os.Build; import com.google.android.gcm.GCMBaseIntentService; @@ -94,7 +96,7 @@ public void createNotification(Context context, Bundle extras) { NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context) .setDefaults(defaults) - .setSmallIcon(context.getApplicationInfo().icon) + .setSmallIcon(getNotificationIcon(context)) .setWhen(System.currentTimeMillis()) .setContentTitle(extras.getString("title")) .setTicker(extras.getString("title")) @@ -133,6 +135,18 @@ private static String getAppName(Context context) { return (String) appName; } + private int getNotificationIcon(Context context) { + boolean isLollipop = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP; + + if (isLollipop) { + Resources r = getResources(); + + return r.getIdentifier("notification_icon", "raw", context.getPackageName()); + } + + return context.getApplicationInfo().icon; + } + @Override public void onError(Context context, String errorId) { Log.e(TAG, "onError - errorId: " + errorId);