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

Sto*_*lly 5 notifications android

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

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

Com*_*are 15

如果您的应用支持早于API级别11的设备,您应该使用NotificationCompat.Builder,在这种情况下,您可以只使用build()所有时间.

否则,欢迎您致电getNotification(),直到您愿意仅支持API Level 16及更高版本为止.他们只是将方法重命名为更加一致.如果查看源代码,getNotification()只需调用build()较新的设备即可.

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


Rag*_*ood 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+
}
Run Code Online (Sandbox Code Playgroud)