API 26(Android 8.0)では、通知ごとにNotificationChannelを定義する必要があります。各チャンネルには、独自の設定(振動、光、音など)があります。Androidの通知がNotifiationChannel.enableVibrationで振動する(偽)
問題: 私はこのチャネルの振動を無効とAndroid 8.0(セキュリティ更新プログラム2017年9月)でこれを展開電話(ネクサス5X)、通知がとにかく振動をトリガーと(ポップで自動的に開かれ)私は設定しなかったし、無効にしたい。
私はMainActivityでNotificationChannelを登録します。
// Register NotificationChannels needed for API 26+ to display notification messages if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel runningChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID_RUNNING, getString(R.string.notification_channel_name_running), NotificationManager.IMPORTANCE_LOW); runningChannel.enableLights(false); runningChannel.enableVibration(false); mNotificationManager.createNotificationChannel(runningChannel); }
私は通知のNotificationChannelを設定します。
notification = new NotificationCompat.Builder(context) .setContentIntent(onClickPendingIntent) .setChannelId(NOTIFICATION_CHANNEL_ID_RUNNING) .setOngoing(true) .setWhen(System.currentTimeMillis()) .setAutoCancel(false) .build();
アップデート(セキュリティ更新プログラム2017年10月5日)
回避策なしですべてが正常に動作するので、targetSDK 26を選択することができます(以前はこの誤動作を避けるために25を使用していました)。他のリリースで同様のバグがあった場合、最新のアップデートはまだ届いていませんでした。
は、重要度レベルを変更してみてください、あなたの提案@ArnavMためNotificationManager.IMPORTANCE_HIGH –
感謝。ただし、動作を変更することはありません(通知が振動してポップアップします)。なぜこれが何か変わったはずだと思う理由を説明できますか? – hb0