Значок уведомлений о значке 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.