2016-09-26 122 views
0
var notificationBuilder = new Notification.Builder(context) 
       .SetSmallIcon(Resource.Drawable.Icon) 
       .SetLargeIcon(BitmapFactory.DecodeResource(Application.Context.Resources, Resource.Drawable.Icon)) 
       .SetContentTitle(title) 
       .SetContentText(message) 
       .SetAutoCancel(true) 
       .SetContentIntent(pendingIntent)     
       .SetStyle(new Notification.BigTextStyle().BigText(message)) 
       .SetSound(RingtoneManager.GetDefaultUri(RingtoneType.Notification)) 
       .SetVibrate(new long[] { 1000, 1000 }) 
       .SetDefaults(NotificationDefaults.All); 

      var notificationManager = (NotificationManager)context.GetSystemService(Context.NotificationService); 
      notificationManager.Notify(0, notificationBuilder.Build()); 

我在哪里错了?为什么我的通知没有任何声音或振动?Android通知声音不起作用

+0

你有相应的权限在'AndroidManifest.xml'中? –

+0

@ th3pat3l,我只是加了这个。 android.permission.VIBRATE –

+0

尝试将振动更改为:SetVibrate(new long [] {1000,1000,1000,1000,1000});'。据我所知,它假设是{延迟,振动,睡眠,振动,睡眠}模式 –

回答

3

删除.SetDefaults(NotificationDefaults.All),你是重置,你刚刚构建的通知设置:

var notification = new Notification.Builder(Application.Context) 
    .SetSmallIcon(Resource.Mipmap.Icon) 
    .SetLargeIcon(BitmapFactory.DecodeResource(Application.Context.Resources, Resource.Mipmap.Icon)) 
    .SetContentTitle("Stack") 
    .SetContentText("OverFlow") 
    .SetAutoCancel(true) 
    //.SetContentIntent(pendingIntent) 
    .SetStyle(new Notification.BigTextStyle().BigText("OverFlow")) 
    .SetSound(RingtoneManager.GetDefaultUri(RingtoneType.Notification)) 
    .SetVibrate(new long[] { 1000, 1000 }) 
    .Build(); 

var notificationManager = (NotificationManager)Application.Context.GetSystemService(Context.NotificationService); 
notificationManager.Notify(1, notification); 
+0

嗨,我已经尝试设置设置声音和设置振动,但我没有听到推送通知时收到。请建议我缺少的东西。 – Deepak

+0

@Deepak没有看到你如何在BroadcastReceiver I中建立通知将不知道什么是错的,你应该发布一个新的问题与不工作的代码。 – SushiHangover

+0

好的寿司。谢谢。 – Deepak

0

尝试通过URI来setSound在notificationBuilder这样

Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); notificationBuilder.setSound(uri);

+0

它不起作用:( –

+0

如果你可以看到通知,然后尝试setSound和setVibrate一个接一个,看看是否有什么事情发生。我认为setVibrate()会导致一些麻烦,因为我在我的项目和它的工作中使用了这个uri方法。 – deejay

+0

嗯。现在可以工作,但是如何设置振动? –