我的通知代码可以在androidapi25上运行,但是当我在android10上尝试它时,它不起作用。我没有收到任何错误,只是什么也没做。在过去的两个月里,我一直在想办法,但没有成功。我在网上找不到任何有用的东西,也尝试了所有我能想到的方法,但都没用。请提前帮助和感谢。
Intent notificationIntent = new Intent(context, bibleReader.class);
Bundle bundle = new Bundle();
notificationIntent.putExtras(bundle);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification.BigTextStyle bigText = new Notification.BigTextStyle();
bigText.bigText(by);
bigText.setSummaryText(bv);
Notification.Builder NotificationBuilder;
// check Android API verson and do as needed
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
NotificationBuilder = new Notification.Builder(context, "ID_BN");
} else {
NotificationBuilder = new Notification.Builder(context);
}
Notification.Builder mBuilder = NotificationBuilder;
mBuilder.setSmallIcon(R.drawable.nicon);
mBuilder.setContentTitle("A Word");
mBuilder.setContentText(bv);
mBuilder.setStyle(bigText);
mBuilder.setAutoCancel(true);
mBuilder.setTicker("text");
mBuilder.setContentIntent(contentIntent); (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
mBuilder.setChannelId(CHANNEL_ID);
}
mNotificationManager.notify(1, mBuilder.build());
3条答案
按热度按时间0lvr5msh1#
在这个论坛上的其他人的帮助下,我能够整理出下面的代码。非常感谢大家!
goqiplq22#
对于oreo和以上的设备,请在创建通知通道后尝试如下所示。请看一下,有什么遗漏请告诉我。
cmssoen23#
这段代码在任何版本的android中都可以正常工作。
你可以把这个代码放到任何brodcastersiver或者类似的东西(服务,等等…)
`玩得开心:)