【问题标题】:Disable Android Beam for selected activities为选定的活动禁用 Android Beam
【发布时间】:2012-01-26 15:52:39
【问题描述】:

我正在 Android 上使用 NFC,特别是 Android Beam。我的问题是:是否可以禁用对活动的 Android Beam 支持?

这就是某些系统应用程序的作用,例如消息传递:如果另一部手机靠近,我的手机会振动,但不会出现“触摸发送”屏幕,另一部手机也不会收到任何信息。

编辑:调用:

NfcAdapter.setNdefPushMessage(NdefMessage message, Activity activity, Activity... activities)

在 onResume() 中带有 null 消息应该可以解决问题(文档说:“传递一个空 NDEF 消息以禁用指定活动中的前台 NDEF 推送。”)但它不起作用。

谢谢

【问题讨论】:

  • 等等,基本上它对你不起作用,你实际上并不想禁用它。两部手机都启用了 android 光束吗?是手机上的设置吗?
  • Beam 工作正常,但我想在我的应用程序中禁用某些活动的消息发送。现在它已为每个活动启用。
  • 这听起来更像是您自己的实现问题,而不是 api 问题。您如何在 NFC 和您的活动之间发送数据?

标签: android nfc android-beam


【解决方案1】:

当我这样做时,它就像一个魅力。

NfcAdapter adapter = NfcAdapter.getDefaultAdapter(this); 
adapter.setNdefPushMessage(null, this, this);

【讨论】:

    【解决方案2】:

    目前没有办法做到这一点。也许您可以提供一个菜单选项来在您的应用程序中禁用 NFC?顺便问一下,你为什么要这样做?

    编辑:

    抱歉,有办法做到这一点。在您不想使用空 NDEF 消息推送任何内容的活动中调用 setNdefPushMessage()。让我知道这是否有效。

    【讨论】:

    • 因为我的应用程序中的大多数活动都没有任何有意义的发送,如果我尝试从它们发送,我的应用程序会在另一部手机上启动,我不希望这样发生。
    • 我也编辑了我的问题,指向相同的方法,但这不起作用:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多