这是一个非常常见的问题,但我没有找到答案。我使用Xamarin.Android创建了应用。我的应用程序创建了一个区域设置通知(有时间延迟),除了android 4.4(在模拟器和设备上)外,它都可以工作。 我的设备:三星GT-I9195,Android 4,4,2
这是我的代码创建通知(在BroadcastReceiver中):
var builder = new NotificationCompat.Builder(context)
.SetContentTitle(notification.Title)
.SetContentText(notification.Body)
.SetSmallIcon(notification.IconId)
.SetAutoCancel(true);
builder.SetDefaults(NotificationCompat.DefaultAll);
在这种情况下,只有振动功能有效。
我尝试了其他选项,例如:
builder.SetSound(RingtoneManager.GetDefaultUri(RingtoneType.Alam));
...
//load embeded sound
Android.Net.Uri alarmUri = Android.Net.Uri.Parse($"{ ContentResolver.SchemeAndroidResource}:{CrossCurrentActivity.Current.AppContext.PackageName}/{Resource.Raw.sound}");
builder.SetSound(alarmUri);
我什至试图启动媒体播放器(在OnReceive中)。
MediaPlayer mp = MediaPlayer.Create(CrossCurrentActivity.Current.AppContext, alarmUri);
mp.Start();
但是所有这些都不起作用。只有振动,没有声音。有什么想法吗?