我正在使用Azure通知中心向我的Xamarin Forms应用程序发送通知。
有时(通常第一次工作,然后第二次失败)我收到链接器错误,无法找到setVisibility方法。
java.lang.NoSuchMethodError: no method with name='setVisibility' signature='(I)Landroid/app/Notification$Builder;' in class Landroid/app/Notification$Builder;
我对可能造成这种情况的原因感到茫然,特别是考虑到它在大约50%的时间内找到了setVisibility方法。
这似乎可以在KitKat手机(API级别19)
上重现更新
有趣的是,如果我从NotificationCompat包含NotificationCompat.Builder,但不使用它,问题似乎就会消失。
答案 0 :(得分:0)
之所以会出现这种情况,是因为这是在API 21中引入的。在Android文档中,您可以在此方法的右上角看到何时引入此内容:
在API级别21中添加
因此,如果您在任何事物上使用此方法< API 21,它会崩溃,因为它不存在。这是您应该在NotificationCompat.Builder
库中使用Support.v4
的地方:
https://developer.android.com/reference/android/app/Notification.Builder.html#setVisibility(int)