2

这个问题几乎是重复的,但链接的问题从未真正解决,而且该线程已有几个月的历史,所以我不想复活它。

在打开 Android Beam 的 ICS 设备上运行的应用程序的默认行为是使用应用程序 Uri 推送消息,该消息将由 Google Play 在接收端处理。

我正在尝试开发一个活动,如果条件 A 为真,它将推送 NdefMessage,否则将禁用推送消息。的 API 文档setNdefPushMessage(...)似乎表明这可以通过传入空消息来实现:

传递空 NDEF 消息以禁用指定活动中的前台 NDEF 推送。

但是,尝试通过以下代码简单地禁止所有推送仍然会导致“Touch to Beam” UI 出现并发送应用程序 Uri ......

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    getNfcAdapter().setNdefPushMessage(null, this);
}

有谁知道是否真的可以禁用来自活动的推送?一些系统应用程序可以做到这一点,但我无法找到实现这一点的代码。任何帮助深表感谢。

4

1 回答 1

4

这似乎是 Android ICS 中的一个错误。尽管文档说您应该能够通过将 NDEF 消息设置为 null 来禁用它,但这根本不起作用。好消息是它已经修复,现在可以在 Android 4.1 Jellybean 中使用。

于 2012-07-09T09:38:49.257 回答