我正在從Firebase向我的Android應用程序發送推送通知。但是當我的應用程序在後臺firebase時,onMessageReceived方法不會被調用,而是firebase發送通知給系統,以便在系統托盤中顯示通知。通知出現在系統托盤中,但沒有通知聲音,即使我已在系統設置中允許我的應用程序發出通知聲音。 這是我的通知 代碼謝謝在Android背景下從firebase發送通知時沒有通知聲音和振動和指示燈
private void sendNotification(String msg, String title) {
NotificationManager mNotificationManager = (NotificationManager)
this.getSystemService(Context.NOTIFICATION_SERVICE);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, MainActivity.class), 0);
Intent i = new Intent(this,MainActivity.class);
i.putExtra("","");
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(title)
.setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
.setContentText(msg);
//Vibration
mBuilder.setVibrate(new long[] { 200, 400, 600, 800, 1000 });
//LED
mBuilder.setLights(Color.MAGENTA, 1000, 1000);
//Ton
mBuilder.setSound(Uri.parse("android.resource://"
+ getApplicationContext().getPackageName() + "/" + R.raw.circles_notif));
mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(0, mBuilder.build());
}
是否定義了Android權限的AndroidManifest使用振動?:'<使用許可權的android:NAME =「android.permission.VIBRATE」 />' – GeorgeLBA
是的,這不是我的問題,當我點擊buton測試它的工作,但在後臺無法正常工作 – Mohamed
您是否嘗試過使用NotificationCompat中的'setDefaults(DEFAULT_ALL)'來檢查它是否適用於用戶的默認偏好?並移除您爲測試而定義的振動,光線和聲音。希望這會有所幫助 – GeorgeLBA