英特尔XDK中的res / drawable文件

时间:2016-07-15 12:11:36

标签: android cordova plugins notifications intel-xdk

在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"/>

但没有任何反应。它应该工作还是一切都错了?我能做什么?我的本地通知需要这个图标。

2 个答案:

答案 0 :(得分:0)

这实际上是解决英特尔XDK中local notifications plugin的流行问题的一部分。 wiki告诉我们加载通知图标有3种可能性,但只有在使用res类型时它似乎对我有效。我还没有找到任何其他明确的解决方案,我无法在iOS上测试它,但这是我在Android上做的:

  1. 我在我的英特尔XDK项目中找到了插件文件夹(de.appplant.cordova.plugin.local-通知给我,但我从现在开始称之为本地通知)。

    < / LI>
  2. 创建android res文件夹:local-notification \ src \ android \ res

  3. 由于我还不确定所有不同的分辨率,我创建了4个文件夹:drawable-hdpi,drawable-mdpi,drawable-xhdpi和drawable-xxhdpi,并将不同大小的图标放入其中。所以最后我有了f.e。:local-notification / src / android / res / drawable-hdpi / noti_icon.png

  4. 现在我按照Tom的说明和给出in this reply的提示,并将以下行添加到local-notification \ plugin.xml文件中:

    Sub Thickness()
    '
    ' Thickness Macro
    ' Transfer Thickness
    '
    ' Keyboard Shortcut: Ctrl+o
    Windows("data2.xls").Activate
    
    FinalRow = FindLast()
    
    CurVal = FindTop(FinalRow)
    
    
    
    Do While CurVal <= FinalRow
         Windows("data2.xls").Activate
         Cells(CurVal, 8).Copy
         CurVal = CurVal + 1
         Windows("TestMacroProgram.xls").Activate
         Sheets("Sheet1").Select
         NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
         Cells(NextRow, 1).Select
         ActiveSheet.Paste
    Loop
    
    End Sub
    
    Function FindLast()
        FindLast = Cells(Rows.Count, 1).End(xlUp).Row
    End Function
    
    Function FindTop(FinalRow)
        CurVal = FinalRow
        Do While Cells([CurVal], [12]).Value <> Range("A1").Value
        CurVal = CurVal - 1
        Loop
        FindTop = CurVal
    End Function
    
  5. 该图标现在最终可用作ressource,可以通过res类型与本地通知插件一起使用,只需:

    <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://”类型)

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

    还有其他一些google指南需要处理,例如.png上的透明背景,但我不确定是否测试这些规格是否对外观有任何影响。

答案 1 :(得分:0)

我很有胆量这个问题被要求在收到推送通知时克服一个讨人喜欢的白色图标。

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

然后只需将图标放在应用程序文件夹中的某个位置,当从推送服务器发送消息时,请按图像属性指定图标,如下所示:

{
    "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