Я использую тот же значок уведомлений для двух разных проектов для обозначения нот firebase. в одном проекте значок появляется, как есть, но в другом проекте он становится белым для уведомления. Пожалуйста, помогитеОдинаковый значок ведет себя по-разному для разных уведомлений о проекте android
ответ
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 файл. Это решит вашу проблему полностью! Я решил свои проблемы по этому коду.
Спасибо, санджейв за ответ. После вашего ответа я заметил, что targetSdkVersion были разными в этих двух проектах. Когда я настраивал targetSdkVersion на более 20 в рабочий проект, он также начал работать по-другому – NebuKanezar
, если мой ответ помог решить проблему, а затем, пожалуйста, примите его. –
Насколько я знаю, проблема с размером изображения/значка изменяет размер изображения/значка.
Я использовал следующий код для создания на уведомление
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());
}
Спасибо Guru.Will выше код запускается, когда приложение находится в фоновом режиме. – NebuKanezar
добро пожаловать. Нет! , Если вы хотите запустить в фоновом режиме, установите это в Service –
Публиковать код для дальнейших исследований разработчиков. – Noorul