DoğukanÖzdemir:
環境:
私はGoogleの使用しているLocationUpdatesForegroundServiceのサービスについてもう少し学ぶためにサンプルプロジェクトを。
私はGithubのデスクトップ経由でプロジェクトをダウンロードして自分の携帯電話でそれを実行している、すべてが素晴らしいですし、このプロジェクトは、行うことを意図しているものありません。
私の携帯電話は、Android 8.0.0、API 26であります
問題:
アプリが終了すると、ステータスバー上のフォアグラウンドサービス通知ショーアップは、できるだけ早くそれが起こるように私は、通知音(デフォルトの音)が聞こえます。しかし、私は通知はいくつかのロケーションベースのアプリケーションのように、静かになりたい(例:Life360)
私はこれまで試しました:
- でLocationUpdatesService.java追加で
159
試してみましたmChannel.setSound(null,null);
- でLocationUpdatesService.javaラインに
296
変更.setPriority(Notification.PRIORITY_HIGH)
します.setPriority(Notification.PRIORITY_LOW)
- でLocationUpdatesService.javaラインに
158
変更NotificationManager.IMPORTANCE_DEFAULT
しますNotificationManager.IMPORTANCE_LOW)
- でLocationUpdatesService.javaラインに
300
追加setSound(null)
上記のいずれもが、誰かがこのような状況にいくつかの光を当てることができれば、私は本当に感謝し、私のために働いていません。
hfarhanahmed:
解決策はNotificationManager.IMPORTANCE_LOWを使用して、それのための新しいチャネルを作成することです。チャンネルが作成されたら、(まあ、することができますが、新しい重要性は無視されます)の重要性を変更することはできません。チャネル情報は、システムによって永続的に格納されますし、アプリをアンインストールする際に作成されたすべてのチャンネルのみが削除されて表示されます。あなたにチャンネルを削除することができます
nm.deleteNotificationChannel(nChannel.getId());
とでそれを再作成
nm.createNotificationChannel(nChannel);
ここでは、スタックオーバーフローの答えを経由してNotificationChannelから無効に音