java - Cordova 上的 Android Lollipop 通知图标 setColor

标签 java android cordova android-5.0-lollipop

我正在尝试通过修改 Cordova PushPlugin 插件中的默认 GCMIntentService.java 来为 Lollipop 通知上的小图标颜色设置背景颜色:

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。

编辑: 更新了示例代码。

最佳答案

我已经设法通过将 /libs/android-support-v13.jar 替换为 /android-sdk-macosx/extras/中的 Android SDK 来实现这一点android/support/v13/android-support-v13.jar

编辑:我还必须替换 Facebook 插件库文件夹中的 android-support-vX.jar

关于java - Cordova 上的 Android Lollipop 通知图标 setColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29564731/

相关文章:

java - 从 intellij 运行时,Spring 初始化不同

java - 线程 "main"java.lang.NullPointerException 中出现异常,不知道我做错了什么

java - 使用 OpenCV 从图像序列中获取中值图片

android - Phonegap - 设置 Phonegap

android - 使用基于Cordova框架开发的混合应用程序打开默认邮件应用程序

Java- 小数点后 2 位四舍五入 *不仅仅是 %.2f*

java - 有没有一种好方法可以将视频从 Android 流式传输到 RTSP 服务器?

android - 使用默认浏览器打开 URL?

javascript - 如何在每次单击按钮时增加/减少视口(viewport)元值(初始比例、最大比例或最小比例)?

java - 具有匿名内部类的 Spring AOP