android - Android(4.4) - 通知声音不播放
问题描述
这是一个非常常见的问题,但我没有找到答案。我用 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();
但这一切都行不通。只有震动,没有声音。有任何想法吗?
解决方案
推荐阅读
- python - 移除 QMdiSubWindow 的图标和样式
- java - 如何使用 Java 从网站获取数据?
- c# - 如何在 C# 中获取控制台窗口的位置?
- assembly - 字符串打印机不打印换行符
- sql - SQL:在分组之前排序(或加入替代)而不重复子查询
- r - 更新自定义 R 包数据
- ruby-on-rails - RoR 关联:has_one + has_many depedent: :destroy
- javascript - 如何将反应挂钩中的所有状态变量传递给我的子组件
- java - 为什么最后一个 else 语句没有在这里打印/执行?
- wordpress - 在小部件区域 wordpress 中拖动后小部件内容隐藏