[解決済み] Oreoで通知が表示されない
2022-03-12 09:31:52
質問
Android Oで通常の通知ビルダーが通知を表示しない。
Android 8 Oreoで通知を表示するにはどうすればよいですか?
Android Oで通知を表示するために追加すべき新しいコードはありますか?
解決方法を教えてください。
Android Oでは チャンネルを使用する必要があります。 通知ビルダーで
以下はサンプルコードです。
// Sets an ID for the notification, so it can be updated.
int notifyID = 1;
String CHANNEL_ID = "my_channel_01";// The id of the channel.
CharSequence name = getString(R.string.channel_name);// The user-visible name of the channel.
int importance = NotificationManager.IMPORTANCE_HIGH;
NotificationChannel mChannel = new NotificationChannel(CHANNEL_ID, name, importance);
// Create a notification and set the notification channel.
Notification notification = new Notification.Builder(MainActivity.this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status)
.setChannelId(CHANNEL_ID)
.build();
またはHandling compatibility byで。
NotificationCompat notification =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle("My notification")
.setContentText("Hello World!")
.setChannelId(CHANNEL_ID).build();
次に、それを通知するようにします。
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.createNotificationChannel(mChannel);
// Issue the notification.
mNotificationManager.notify(notifyID , notification);
または、単純に修正したい場合は、以下のコードを使用してください。
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
mNotificationManager.createNotificationChannel(mChannel);
}
更新情報です。 NotificationCompat.Builderのリファレンス
NotificationCompat.Builder(Context context)
このコンストラクタは、API レベル 26.0.0 で非推奨となりました。 を使用する必要があります。
Builder(Context context, String channelId)
ということで
setChannelId
を新しいコンストラクタで使用します。
また、AppCompatライブラリの最新版(現在26.0.2)を使用する必要があります。
compile "com.android.support:appcompat-v7:26.0.+"
出典 YoutubeのAndroid Developers Channel
また、あなたは Android公式ドキュメント
関連
-
[解決済み】「ArrayAdapterはリソースIDがTextViewであることが必要」XMLの問題点
-
[解決済み】android.content.res.Resources$NotFoundExceptionの取得:androidにリソースが存在する場合でも例外が発生する。
-
[解決済み] NotificationCompat.Builder は Android O で非推奨となりました。
-
[解決済み] アプリケーションを終了することは嫌われますか?
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
-
[解決済み] APKファイルのリバースエンジニアリングを回避する方法
-
[解決済み] メール送信インテント
-
[解決済み】Firebase Console を使用せずに Firebase Cloud Messaging 通知を送信するには?
-
[解決済み】Android 5 Lollipopで通知バーのアイコンが白くなる件
-
[解決済み】Androidはほぼリアルタイムのプッシュ通知に対応していますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】apkインストール時のINSTALL_FAILED_NO_MATCHING_ABIS
-
[解決済み】onCreateOptionsMenu(Menu メニュー)とは何ですか?)
-
[解決済み】Android Studio。adbバージョン」の結果を取得できない
-
[解決済み】新しいAVDを作成すると、CPU/ABIフィールドに「システムイメージがインストールされていません」と表示される。
-
[解決済み】カメラサービスへの接続に失敗しました。
-
[解決済み】sendUserActionEvent()がnullである。
-
[解決済み】Couldn't load memtrack module Logcat Error
-
[解決済み】googleコンソールエラー`OR-IEH-01`について
-
[解決済み] AndroidのADBデバイスが不正に
-
[解決済み] Xlint:deprecationを使用して再コンパイルする方法