C#安卓GCM通知禁用声音
本文关键字:用声音 通知 GCM 安卓 | 更新日期: 2023-09-27 17:57:21
我正在尝试在安卓手机上收到 gcm 通知时删除声音通知。我在代码中设置了data.sound=0
,但没有设置。安卓播放声音甚至应用程序已关闭!有什么方法可以实现我的目标吗?谢谢。
public void SendNotification(string deviceId, string message, int badgeCount)
{
string GoogleAppID = "....";
var SENDER_ID = ".....";
WebRequest webRequest;
webRequest = WebRequest.Create("https://android.googleapis.com/gcm/send");
webRequest.Method = "post";
webRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8";
webRequest.Headers.Add(string.Format("Authorization: key={0}", GoogleAppID));
webRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID));
string postData = string.Format("collapse_key=score_update&time_to_live=108&delay_while_idle=0&data.message={0} &data.time={1} &data.badge={3} &data.sound={4}®istration_id={2}", message, DateTime.UtcNow, regID, badgeCount, "default");
Byte[] byteArray = Encoding.ASCII.GetBytes(postData);
webRequest.ContentLength = byteArray.Length;
Stream dataStream = webRequest.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse webResponse = webRequest.GetResponse();
dataStream = webResponse.GetResponseStream();
using (StreamReader streamReader = new StreamReader(dataStream))
{
String sResponseFromServer = streamReader.ReadToEnd();
streamReader.Close();
dataStream.Close();
webResponse.Close();
}
}
您可以将Notification.Builder
与公共方法一起使用setDefaults
。
如 setDefaults 中所述,
Notification.Builder setDefaults (int defaults)
设置将从系统默认值继承的通知属性。
请注意,应DEFAULT_SOUND
值以使用默认通知声音。
在此SO帖子中给出的解决方案和一些评论 - 如何在Android中通过代码更改通知声音? 希望能帮助您更好地理解。