我的代码使用或覆盖了已弃用的 API
My code uses or overrides a deprecated API
我有一个代码可以 运行 用于一个版本,但对于最新的版本。 Android 工作室写道:
“使用或覆盖已弃用的 API。使用 -Xlint:deprecation 重新编译以获取详细信息。”
我的代码是:
Notification.Builder builder = new Notification.Builder(this);
builder.setContentTitle("Words reminder");
builder.setContentText("It's time to try yourself!");
builder.setSmallIcon(R.drawable.ic_stat_name);
builder.setAutoCancel(true);
builder.setPriority(Notification.PRIORITY_HIGH);
//builder.build().flags |= Notification.FLAG_AUTO_CANCEL;
Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
builder.setSound(alarmSound);
Intent notifyIntent = new Intent(this, RightOrNot.class);
notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notifyIntent, 0);
builder.setContentIntent(pendingIntent);
Notification notificationCompat = builder.build();
NotificationManagerCompat managerCompat = NotificationManagerCompat.from(this);
managerCompat.notify(NOTIFICATION_ID, notificationCompat);
我认为问题出在第一行:
Notification.Builder builder = new Notification.Builder(this);
您知道我该如何修复该行或使用适用于所有版本的不同内容吗?
根据 android 开发者文档,public Builder(Context context)
已弃用,您应该尝试使用 public Builder(Context context, String channelID)
。您需要使用通知渠道。按照步骤 here.
我有一个代码可以 运行 用于一个版本,但对于最新的版本。 Android 工作室写道: “使用或覆盖已弃用的 API。使用 -Xlint:deprecation 重新编译以获取详细信息。”
我的代码是:
Notification.Builder builder = new Notification.Builder(this);
builder.setContentTitle("Words reminder");
builder.setContentText("It's time to try yourself!");
builder.setSmallIcon(R.drawable.ic_stat_name);
builder.setAutoCancel(true);
builder.setPriority(Notification.PRIORITY_HIGH);
//builder.build().flags |= Notification.FLAG_AUTO_CANCEL;
Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
builder.setSound(alarmSound);
Intent notifyIntent = new Intent(this, RightOrNot.class);
notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notifyIntent, 0);
builder.setContentIntent(pendingIntent);
Notification notificationCompat = builder.build();
NotificationManagerCompat managerCompat = NotificationManagerCompat.from(this);
managerCompat.notify(NOTIFICATION_ID, notificationCompat);
我认为问题出在第一行:
Notification.Builder builder = new Notification.Builder(this);
您知道我该如何修复该行或使用适用于所有版本的不同内容吗?
根据 android 开发者文档,public Builder(Context context)
已弃用,您应该尝试使用 public Builder(Context context, String channelID)
。您需要使用通知渠道。按照步骤 here.