Intel XDK中的res/drawable文件

3

XDK中有没有方法可以将文件传输到android / res / drawable文件夹?

我有以下文件:

src/android/drawable/noti_icon.png
www/src/android/drawable/noti_icon.png

我尝试通过在我的intelxdk.config.additions.xml文件中包含以下行来实现此目的。

<resource-file src="src/android/res/drawable/noti_icon.png" target="res/drawable/noti_icon.png"/>
<resource-file src="src/android/res/drawable/noti_icon.png" target="res/drawable-hdpi/noti_icon.png"/>
<resource-file src="src/android/res/drawable/noti_icon.png" target="res/drawable-xhdpi/noti_icon.png"/>

<resource-file src="src/android/res/drawable/noti_icon.png" target-dir="res/drawable"/>
<resource-file src="src/android/res/drawable/noti_icon.png" target-dir="res/drawable-hdpi"/>
<resource-file src="src/android/res/drawable/noti_icon.png" target-dir="res/drawable-xhdpi"/>

<resource-file src="src/android/res/drawable/noti_icon.png" target="platforms/android/res/drawable/noti_icon.png"/>
<resource-file src="src/android/res/drawable/noti_icon.png" target="platforms/android/res/drawable-hdpi/noti_icon.png"/>
<resource-file src="src/android/res/drawable/noti_icon.png" target="platforms/android/res/drawable-xhdpi/noti_icon.png"/>

<resource-file src="src/android/res/drawable/noti_icon.png" target-dir="platforms/android/res/drawable"/>
<resource-file src="src/android/res/drawable/noti_icon.png" target-dir="platforms/android/res/drawable-hdpi"/>
<resource-file src="src/android/res/drawable/noti_icon.png" target-dir="platforms/android/res/drawable-xhdpi"/>


<source-file src="src/android/res/drawable/noti_icon.png" target="res/drawable/noti_icon.png"/>
<source-file src="src/android/res/drawable/noti_icon.png" target="res/drawable-hdpi/noti_icon.png"/>
<source-file src="src/android/res/drawable/noti_icon.png" target="res/drawable-xhdpi/noti_icon.png"/>

<source-file src="src/android/res/drawable/noti_icon.png" target-dir="res/drawable"/>
<source-file src="src/android/res/drawable/noti_icon.png" target-dir="res/drawable-hdpi"/>
<source-file src="src/android/res/drawable/noti_icon.png" target-dir="res/drawable-xhdpi"/>

<source-file src="src/android/res/drawable/noti_icon.png" target="platforms/android/res/drawable/noti_icon.png"/>
<source-file src="src/android/res/drawable/noti_icon.png" target="platforms/android/res/drawable-hdpi/noti_icon.png"/>
<source-file src="src/android/res/drawable/noti_icon.png" target="platforms/android/res/drawable-xhdpi/noti_icon.png"/>

<source-file src="src/android/res/drawable/noti_icon.png" target-dir="platforms/android/res/drawable"/>
<source-file src="src/android/res/drawable/noti_icon.png" target-dir="platforms/android/res/drawable-hdpi"/>
<source-file src="src/android/res/drawable/noti_icon.png" target-dir="platforms/android/res/drawable-xhdpi"/>

但是没有任何反应。它应该有效吗?还是全部错误了?我该怎么办?我需要这个图标用于我的本地通知。


你最终解决了这个问题吗?我也遇到了同样的问题。 - user3572565
不是真的。我已经克隆了cordova-plugin-local-notifications并添加了以下内容: 放到plugin.xml中。将src放置在插件的根目录下。 - Tom
2个回答

0

这实际上是解决Intel XDK中本地通知插件的一个常见问题的一部分。 维基告诉我们有3种可能加载通知图标,但只有在使用res类型时才对我有效。我没有找到其他明确的解决方案,也无法在iOS上进行测试,但以下是我在Android上所做的:

  1. 我在我的Intel XDK项目中找到了插件文件夹(对于我来说是de.appplant.cordova.plugin.local-notification,但从现在开始我将称其为local-notification)。

  2. 创建了android res文件夹:local-notification\src\android\res

  3. 由于我仍然不确定所有不同的分辨率,我创建了4个文件夹:drawable-hdpi、drawable-mdpi、drawable-xhdpi和drawable-xxhdpi,并在其中放置了不同大小的图标。所以最终我有了例如:local-notification/src/android/res/drawable-hdpi/noti_icon.png

  4. 现在我按照Tom的说明和此回复中给出的提示,在local-notification\plugin.xml文件中添加了以下行:

    <resource-file src="src/android/res/drawable-hdpi/noti_icon.png" target="res/drawable-hdpi/noti_icon.png" />
    <resource-file src="src/android/res/drawable-mdpi/noti_icon.png" target="res/drawable-mdpi/noti_icon.png" />
    <resource-file src="src/android/res/drawable-xhdpi/noti_icon.png" target="res/drawable-xhdpi/noti_icon.png" />
    <resource-file src="src/android/res/drawable-xxhdpi/noti_icon.png" target="res/drawable-xxhdpi/noti_icon.png" />
    

图标现在作为资源已经可用,并且可以通过本地通知插件使用res类型来简单地使用:

cordova.plugins.notification.local.schedule({
    ...your other options... ,
    icon: "noti_icon",
    smallicon:"noti_icon"
});

(您不需要添加文件类型或“res://”类型)

最后,您应该看到自己的图标,而不是Android铃铛图标。

还有一些其他的Google指南需要注意,例如.png文件的透明背景,但我不确定并且没有测试这些规格是否对外观产生影响。


0

我认为这个问题是为了解决cordova应用程序接收推送通知时出现的麻烦白色图标而提出的。

一个简单无痛的方法是使用这个流行的插件来注册和接收推送通知:https://github.com/phonegap/phonegap-plugin-push

然后只需将图标放在应用程序文件夹中的某个位置,并在从推送服务器发送消息时,通过像这样的“image”属性指定图标:

{
    "registration_ids": ["my device id"],
    "data": {
        "title": "Large Icon",
        "message": "Loaded from assets folder",
        "image": "www/image/logo.png"
    }
}

您可以参考此链接: https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/PAYLOAD.md

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接