这个问题几乎是一个duplicate,但链接的问题从未真正得到解决,而且这个帖子已经有几个月了,所以我不想复活它。
在安装了Android Beam的ICS设备上运行的应用的默认行为是使用将在接收端由Google Play处理的应用Uri推送消息。
我正在尝试开发一个活动,如果条件A为真,它将推送NdefMessage,否则将禁用推送消息。 setNdefPushMessage(...)
的API文档似乎表明通过传入空消息可以实现这一点:
传递null NDEF消息以禁用指定活动中的前台NDEF推送。
然而,试图通过以下代码简单地禁止所有推送仍然会导致“Touch to Beam”UI出现并且正在发送应用程序Uri ...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getNfcAdapter().setNdefPushMessage(null, this);
}
有没有人知道实际上是否可以禁用来自活动的推送?一些系统应用程序可以做到,但我无法找到实现此目的的代码。非常感谢任何帮助。
答案 0 :(得分:3)
这似乎是Android ICS中的一个错误。虽然文档说您应该能够通过将NDEF消息设置为null来禁用它,但这根本不起作用。好消息是它已被修复,现在可以在Android 4.1 Jellybean中运行。