如何将资源文件添加到我的phonegap项目

时间:2014-01-10 19:44:10

标签: android cordova cordova-3

我正在使用Cordova LocalNotification-Plugin向用户显示一些通知。现在我想做的是在通知时发出特定的声音。他们说要加上这个

window.plugin.notification.local.add({ sound: 'android.resource://' + package_name +/raw/beep});

注意:必须将本地声音文件放入res文件夹,而不是放入assets-folder。

我不知道在哪个res文件夹中我应该放置我的mp3。如果我试着将它放入我所拥有的主res文件夹中:drawable;绘制,华电国际; drawable-ldpi; drawable-mdpi; drawable-xhdpi; values;构建项目时的xml文件夹我收到此错误:

  

无效的资源目录名称:C:\ Users \ etc \ etc \ myprojectname \ platforms \ android \ res / sounds

我该怎么办?

2 个答案:

答案 0 :(得分:2)

据我了解,你应该把你的声音文件放在res / raw文件夹而不是res / sound(正如你在插件调用中看到的那样:+ / 原始 / beep)。

android中没有/ res / sounds文件夹,不适合其他类别的数据应该放在/ res / raw中。 您可以查看sdk doc

答案 1 :(得分:1)

是的,你是对的,你应该创建缺少的var并分配你的包名(你在使用命令行创建phonegap / cordova项目时使用的名称,例如:

cordova create LocalNotification com.example.localnotification LocalNotification

应该在插件中使用这些值:

var package_name = "com.example.localnotification";
window.plugin.notification.local.add({
        date        : Math.round(new Date().getTime()/1000 + 5),
        title       : "Android App Tes Local Notification", 
        message       : "This is a new local notification.",
        repeat        : "daily",
        sound       : 'android.resource://' + package_name + '/raw/beep',
        badge           : 0,
        id             : 666,
        foreground      : function(notificationId){
        console.log("Hello World! This alert was triggered by notification " + notificationId);
    },
    background  : function(notificationId){
        console.log("Hello World! This alert was triggered by notification " + notificationId);
    }           
});

如果有人有兴趣为Android创建本地通知,这绝对是美丽的,工作得很好!

Download local notification plugin (working on Android ONLY)

Download beep.mp3