我正在使用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
我该怎么办?
答案 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)