我试图在Android手机上收到gcm通知时删除声音通知。我在代码中设置data.sound=0
但没有。 Android播放声音甚至应用程序已关闭!
有没有办法实现我的目标?
谢谢。
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();
}
}
答案 0 :(得分:0)
您可以将Notification.Builder
与公共方法setDefaults
一起使用。
如setDefaults中所述,
Notification.Builder setDefaults (int defaults)
设置将从系统默认值继承的通知属性。
请注意,值应为DEFAULT_SOUND
以使用默认通知声音。
给出的解决方案以及此SO帖子中的一些评论 - How to change notification sound by code in android?希望能帮助您更好地理解。