Xamarin Local Notification自定义声音无法播放

时间:2017-08-23 09:58:13

标签: audio xamarin.android xamarin.forms android-notifications

目前正在我的应用程序中实现本地通知,到目前为止,它的工作方式完全符合预期,但在尝试用声音文件替换默认声音时,当通知触发时我不再听到任何声音,我无法弄清楚原因。< / p>

本地通知的代码:

    public void GetLocalNotification(string message)
    {
        Android.Net.Uri sound = Android.Net.Uri.Parse("android.resource://" + Application.Context.PackageName + "/" + Resource.Raw.alarm);

        // Build the notification:
        NotificationCompat.Builder builder = new NotificationCompat.Builder(Application.Context)
            .SetAutoCancel(true)                    // Dismiss from the notif. area when clicked
            .SetContentTitle("Notification")      // Set its title
            .SetSmallIcon(Resource.Drawable.icon)  // Display this icon
            .SetDefaults(1 | 2) //Sets sound and vibration
            .SetSound(sound)
            .SetContentText(String.Format(
                message)); // The message to display.

        // Finally, publish the notification:
        NotificationManager notificationManager =
            (NotificationManager)Application.Context.GetSystemService(Context.NotificationService);
        notificationManager.Notify(ButtonClickNotificationId, builder.Build());
    }

2 个答案:

答案 0 :(得分:2)

尝试设置此行:.SetDefaults(1 | 2) //Sets sound and vibration.SetDefaults(0),这应该代表所有&#39;。

我已经看过这样的情况,当你将它设置为0时,它只发出声音。我可以说为什么,我不知道诚实,但它确实有效。

答案 1 :(得分:0)

@Gerald Versluis :谢谢,但注意到.SetDefaults(0)会增加声音,但同时也会消除振动。因此,要添加此问题,请.SetDefaults(0 | 2),将2设为(int)NotificationDefaults.Vibrate

因此,我添加声音和振动的解决方案是:

.SetDefaults(0 | (int)NotificationDefaults.Vibrate)