设置phonegap的通知URI

时间:2013-05-01 10:50:40

标签: android cordova

我正在尝试在phonegap应用中为自定义声音设置正确的URI。我尝试了几种组合,包括以下内容,但我不断获得Uri cannot be resolved

  notif.sound = Uri.parse("android.resource://package_name/raw/notification/alarm.WAV");

  notif.sound = Uri.parse("android.resource://package_name/raw/notification/");

  notif.sound = Uri.parse("file://path/to/file/alarm.WAV");

使用phonegap

时如何设置声音的Uri

更多信息

我正在使用this tutorial,最后解释了如何从推送消息中添加通知....

  String message = extras.getString("message");
  String title = extras.getString("title");
  Notification notif = new Notification(android.R.drawable.btn_star_big_on, message,             System.currentTimeMillis() );
  notif.flags = Notification.FLAG_AUTO_CANCEL;
  notif.defaults |= Notification.DEFAULT_SOUND;
  notif.defaults |= Notification.DEFAULT_VIBRATE;

  Intent notificationIntent = new Intent(context, TestSampleApp.class);
  notificationIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
  PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);

  notif.setLatestEventInfo(context, title, message, contentIntent);
  String ns = Context.NOTIFICATION_SERVICE;
  NotificationManager mNotificationManager = (NotificationManager)
  context.getSystemService(ns);
  mNotificationManager.notify(1, notif); 

我认为删除Notification.DEFAULT_SOUND;并添加uri会使其发出自定义声音。

1 个答案:

答案 0 :(得分:0)

如果是JavaScript代码,问题在于代码以及如何定义Uri变量/库。

如果您使用的是notification API,则无法指定default "beep" sound(iOS除外,但这是因为iOS上没有哔声。)

如果您正在尝试播放特定声音,我认为您应该使用media API.您可以指定声音来播放:

function playAudio(url) {
    // Play the audio file at url
    var my_media = new Media(url,
        // success callback
        function() {
            console.log("playAudio():Audio Success");
        },
        // error callback
        function(err) {
            console.log("playAudio():Audio Error: "+err);
    });

    // Play audio
    my_media.play();
}

查看“完整示例”,了解如何正确设置HTML页面。