2016-12-26 8 views
-1

Я использую тот же значок уведомлений для двух разных проектов для обозначения нот firebase. в одном проекте значок появляется, как есть, но в другом проекте он становится белым для уведомления. Пожалуйста, помогитеОдинаковый значок ведет себя по-разному для разных уведомлений о проекте android

+0

Публиковать код для дальнейших исследований разработчиков. – Noorul

ответ

0
Use this code Implementation of Notification Builder for below and above Lollipop OS version would be: 

NotificationCompat.Builder builder = new NotificationCompat.Builder(this); 
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
    builder.setSmallIcon(R.drawable.icon_transperent); 
} else { 
    builder.setSmallIcon(R.drawable.icon); 
} 
If you want to set colored single icon for all OS version then 

Solution: For colored icons, use 

defaultConfig { 
     applicationId "com.your.app.pkj" 
     minSdkVersion xx 
     targetSdkVersion 20 // < 21 (target sdk version in manifest file will be less than 21). 
     versionCode x 
     versionName "x.x" 
    } 

в приложении/build.gradle файл. Это решит вашу проблему полностью! Я решил свои проблемы по этому коду.

+0

Спасибо, санджейв за ответ. После вашего ответа я заметил, что targetSdkVersion были разными в этих двух проектах. Когда я настраивал targetSdkVersion на более 20 в рабочий проект, он также начал работать по-другому – NebuKanezar

+0

, если мой ответ помог решить проблему, а затем, пожалуйста, примите его. –

0

Насколько я знаю, проблема с размером изображения/значка изменяет размер изображения/значка.

Я использовал следующий код для создания на уведомление

public void showNotification(Context context) { 
    PendingIntent contentIntent = PendingIntent.getActivity(context, 0, 
      new Intent(context, MainActivity.class), 0); 

    NotificationCompat.Builder mBuilder = 
      new NotificationCompat.Builder(context) 
        .setSmallIcon(R.drawable.icon) 
        .setContentTitle("Notification") 
        .setContentText("Notify!!!"); 
    mBuilder.setContentIntent(contentIntent); 
    mBuilder.setDefaults(Notification.DEFAULT_SOUND); 
    mBuilder.setAutoCancel(true); 
    NotificationManager mNotificationManager = 
      (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
    mNotificationManager.notify(1, mBuilder.build()); 

} 
+0

Спасибо Guru.Will выше код запускается, когда приложение находится в фоновом режиме. – NebuKanezar

+0

добро пожаловать. Нет! , Если вы хотите запустить в фоновом режиме, установите это в Service –