Android通知构建器getNotification()vs build()

时间:2013-04-20 17:13:00

标签: android notifications

根据我见过的文档,在API 11中引入了android通知构建器,并且:

  • 在API 11到API 15中,使用方法.getNotification()创建通知对象
  • 在API 16以后,使用.build()来创建通知对象。
这听起来很简单,但我如何编写代码Eclipse会根据API版本调用正确的方法吗?

2 个答案:

答案 0 :(得分:15)

如果您的应用支持早于API级别11的设备,则应使用NotificationCompat.Builder,在这种情况下,您可以始终使用build()

否则,欢迎您致电getNotification(),直到您愿意仅支持API级别16及更高级别为止。他们只是将方法重命名为更加一致。如果您查看the source codegetNotification()只需在较新的设备上调用build()即可。

使用Raghav的方法没有任何问题,并且在存在API级别差异的其他情况下将需要这种技术。

答案 1 :(得分:5)

您可以在运行时检查API级别。

if (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.JELLY_BEAN) {
  // call something for API Level 16+
} else if (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.HONEYCOMB) {
  // call something for API Level 11+
}