Значок уведомлений о значке Lollipop Android setColor на Кордове
1 Alex [2015-04-10 18:01:00]
Я пытаюсь установить цвет фона для небольшого цвета значка в уведомлении Lollipop, изменив значение по умолчанию GCMIntentService.java из плагина Cordova PushPlugin:
GCMIntentService.java
[...]
import android.os.Build;
public void createNotification(Context context, Bundle extras)
{
[...]
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(context)
.setDefaults(defaults)
.setWhen(System.currentTimeMillis())
.setContentTitle(extras.getString("title"))
.setTicker(extras.getString("title"))
.setContentIntent(contentIntent)
.setAutoCancel(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mBuilder
.setSmallIcon(R.drawable.notification_icon)
.setColor(getResources().getColor(R.color.main));
} else {
mBuilder.setSmallIcon(R.drawable.icon);
}
[...]
}
[...]
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="main">#009ee5</color>
</resources>
Но это не сработает, приложение вылетает из строя со следующей ошибкой:
Error code 1 for command: ant with args: debug,-f,/Users/alex/Developpement/PhoneGap/myProject/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
ERROR running one or more of the platforms: Error: /Users/alex/Developpement/PhoneGap/myProject/platforms/android/cordova/run: Command failed with exit code 8
You may not have the required environment or OS to run this project
Если я прокомментирую строку "setColor", все будет хорошо (кроме цвета фона отсутствует), я просто не понимаю, почему getColor делает сборку сбоя. Я использую SDK 21.
EDIT: обновленный пример кода.
java android android-5.0-lollipop cordova
1 ответ
2 Решение Alex [2015-05-06 16:34:00]
Мне удалось получить эту работу, заменив /libs/android-support-v13.jar
на один из Android SDK в /android-sdk-macosx/extras/android/support/v13/android-support-v13.jar
EDIT: Мне также пришлось заменить android-support-vX.jar
в папке с плагинами Facebook.