如何以编程方式播放 Android NFC 通知声音?

How do I programmatically play the Android NFC notification sound?

我有一个允许用户读取 NFC 标签的应用程序 (NFC Sniffer)。当用户尝试阅读标签时,会发生以下 3 种情况中的一种:

  1. 没什么,标签离得不够近
  2. 检测到NFC,但读卡失败,此时会播放提示音。
  3. 读取标签,在这种情况下会播放不同的通知声音。

许多新用户对这些通知声音感到困惑。我希望我的程序有一个帮助屏幕,带有播放这两种声音的按钮。

但是如何从我的代码中找到并播放这两个通知?

您可以从 AOSP 项目的源中获取这些声音,并将它们包含在您自己的应用中。声音是 NFC 系统服务应用程序的一部分:

https://android.googlesource.com/platform/packages/apps/Nfc/+/master/res/raw/

顺便说一句。从 Android 4.4 开始,您可以使用 reader mode API with the flag NfcAdapter.FLAG_READER_NO_PLATFORM_SOUNDS.

在 activity 处于前台时禁用声音