在Android中,如何删除通知变量以免被弃用?

时间:2013-09-26 01:56:57

标签: android notifications deprecated suppress-warnings

如何从代码中删除弃用?因为这个,我似乎得到了警告。罢工文本是新的通知"和setLatestEventInfo?它说"这种方法在API级别11中已弃用?那是什么意思? 请求帮助。我该如何解决这个问题?

@SuppressWarnings("deprecation")
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    // TODO Auto-generated method stub
    Toast.makeText(this, "OnStartCommand()", Toast.LENGTH_SHORT).show();
    NotificationManager notificationmanager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
    Intent notificationintent = new Intent(this, Reminder_2.class);
    PendingIntent pendingintent = PendingIntent.getActivity(this, 0, notificationintent, 0);
    int icon=R.drawable.ic_launcher;
    long when=System.currentTimeMillis();
    @SuppressWarnings("deprecation")
    Notification notification=new Notification (icon, "There's a message", when);
    notification.setLatestEventInfo(this, "Title here", "Content here.", pendingintent);
    notificationmanager.notify(033, notification);
    return super.onStartCommand(intent, flags, startId);
}

2 个答案:

答案 0 :(得分:2)

一直是deprecated,这意味着它已在未来的Android版本中被标记为删除,或者已经引入了更好的标准/替代品。文档建议使用Notification.Builder:

Notification noti = new Notification.Builder(mContext)
         .setContentTitle("New mail from " + sender.toString())
         .setContentText(subject)
         .setSmallIcon(R.drawable.new_mail)
         .setLargeIcon(aBitmap)
         .build();

查看文档:{​​{3}}

答案 1 :(得分:2)

这是什么意思?

在编写计算机软件,其标准或文档的过程中,弃用是一种应用于软件功能的状态,表明应该避免使用它们,通常是因为它们已被取代。尽管已弃用的功能仍保留在软件中,但它们的使用可能会引发警告消息,建议使用其他实践,并且弃用可能表示此功能将在以后删除。不推荐使用功能而不是立即删除功能,以便提供向后兼容性,并为使用功能时间的程序员提供符合新标准的代码。

来源:Here

我该如何解决?

正如您在documentation of Notification中找到的那样,

Notification(int icon, CharSequence tickerText, long when)

可以替换为Notification.Builder