web-dev-qa-db-ja.com

通知にサウンドを追加するには?

NotificationCompat.Builderによって作成された通知にサウンドをどのように追加しますか? resにrawフォルダーを作成し、そこにサウンドを追加しました。それでは、どうすれば通知に追加できますか?これは私の通知コードです

    int NOTIFY_ID=100;
    Intent notificationIntent = new Intent(this, Notification.class);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);

    NotificationCompat.Builder mBuilder =
            new NotificationCompat.Builder(this)
            .setContentIntent(pendingIntent)
            .setSmallIcon(R.drawable.notification)
            .setContentTitle("Warning")
            .setContentText("Help!")

    NotificationManager mgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    mgr.notify(NOTIFY_ID, mBuilder.build());
24
Vladimir

_NotificationCompat.Builder_クラス-setSound(Uri soundUri)には明白なメソッドがあるので、ここで問題はUriでサウンドを参照する方法にあると思います。

rawリソースにアクセスするには、次のようにUriを作成する必要があります。

Android.resource:// [PACKAGE_NAME]/[RESOURCE_ID]

したがって、コードは次のようになります。

_Uri sound = Uri.parse("Android.resource://" + getPackageName() + "/" + R.raw.notifysnd);
mBuilder.setSound(sound);
_
48
Paul

通知でサウンドを再生するには:

Notification notification = new Notification(icon, tickerText, when);

通常の通知手順を行う

通知でデフォルトのサウンドを再生するには:

notification.defaults |= Notification.DEFAULT_SOUND;

通知でカスタムサウンドを再生するには:

notification.sound = Uri.parse("file:///sdcard/notification/notification.mp3");

次に、通知マネージャーを使用して通知を送信します。これらのステートメントの両方を使用すると、アプリケーションはデフォルトでデフォルトのサウンドを使用します。

16
Antrromet

Android 8(Oreo)以上の場合、 Notification Channel を使用して通知を表示する必要があります。無効にしていない場合は、自動的に音が鳴ります。

古いデバイスでは、通知ビルダーでサウンドを設定できます。 Notification.Builder.setSound()を使用してカスタムサウンドを設定するか、または

Notification.Builder.setDefaults(NotificationCompat.DEFAULT_SOUND)デフォルトのサウンドを設定します。

デフォルト もあり、振動とライト用です

0
B-GangsteR