كيفية إضافة ملف الموارد إلى مشروع phonegap الخاص بي
سؤال
انا استخدم Cordova LocalNotification-Plugin لإظهار بعض الإخطارات للمستخدم.الآن ما أريد فعله هو الحصول على صوت محدد عند الإشعار.قالوا لإضافة هذا
window.plugin.notification.local.add({ sound: 'android.resource://' + package_name +/raw/beep});
ملحوظة:يجب وضع ملفات الصوت المحلية في مجلد الدقة وليس في مجلد الأصول.
لا أعرف في أي مجلد res يجب أن أضع ملفات mp3 الخاصة بي.وإذا حاولت وضعه في مجلد الدقة الرئيسي حيث لدي:قابل للرسم؛HDPI قابل للسحب؛drawable-ldpi;drawable-mdpi;drawable-xhdpi;values;مجلدات xml عندما أقوم بإنشاء المشروع أحصل على هذا الخطأ:
اسم دليل المورد غير صالح:C:\Users\etc\etc\myprojectname\platforms\android es/sounds
ماذا علي أن أفعل ؟
المحلول
كما أفهمها، يجب عليك وضع ملف الصوت الخاص بك في المجلد res/raw بدلاً من res/sounds (كما ترى في استدعاء البرنامج المساعد:+/خام/زمارة).
لا يوجد مجلد /res/sounds في نظام Android، ويجب وضع البيانات التي لا تتناسب مع الفئات الأخرى في /res/raw.يمكنك إلقاء نظرة على مستند SDK
نصائح أخرى
نعم أنت على حق، يجب عليك فقط إنشاء 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، فهذا أمر جميل للغاية ويعمل بشكل جيد!
تنزيل البرنامج المساعد للإشعارات المحلية (يعمل على نظام Android فقط)