2016-09-26 167 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

嗯。現在可以工作,但是如何設置振動? –