最近随着 Android O 中的通知渠道(Notification Channels)的推出,Notification.Builder(context)
已经被弃用。
问题:
我曾尝试使用 Notification.Builder(context, StringID)
代替 Notification.Builder(context)
,并成功收到了来自 Android O 设备的通知。
然而,当我在 Android 23(M)上尝试时,却没有收到通知。我对代码进行了调试,发现一旦 debugger 到达 Notification.Builder(context, StringID)
这一行就停止执行了。
修复方法:
为解决这个问题,我使用了 if/else 条件语句来区分 Android O 设备和其他设备。
以下是我的代码片段:
Notification.Builder notificationBuilder;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
notificationBuilder = new Notification.Builder(mContext,
mContext.getResources().getString(R.string.notification_id_channel));
} else {
notificationBuilder = new Notification.Builder(mContext);
}
在Android Studio中,Lint显示以下弃用行:
问题:
是否有办法去掉那个弃用警告行?
NotificationCompat.Builder
,特别是当支持库v26版退出beta版时。 - CommonsWareNotificationCompat
。 - tyczjNotificationCompat(Context context, String channelId)
。你有看过你发布的链接吗? - tyczj