扫描/识别 NFC 意图时防止提示音
Posted
技术标签:
【中文标题】扫描/识别 NFC 意图时防止提示音【英文标题】:Prevent alert tone when scanning / identifying an NFC intent 【发布时间】:2012-01-05 13:47:42 【问题描述】:也许我遗漏了一些东西,但是当我通过 Galaxy nexus 扫描 NFC 标签时,手机总是发出默认的提示音。
有没有办法以编程方式将其关闭?我已经搜索了菜单/首选项,但找不到这样做的方法。下一步... ICS源代码:-/
【问题讨论】:
在android.stackexchange.com 上回答这个问题可能会更好。这当然是假设您尚未植根手机。 呵呵.. android.stackexchange.com 说“转到 ***.com”... 干得好,我可以发现递归。手机未植根,因为我想将其放入非植根手机的应用程序中... 我想要得到的是:如果在 regular 设置中确实不存在此关闭音调的选项(并且您在 android.stackexchange 上验证了这一点.com),那么您很有可能无法以编程方式进行操作。有根电话评论适用于后者。 FWIW。我在 android 代码库功能请求列表中提出了这个:code.google.com/p/android/issues/detail?id=24022 【参考方案1】:使用 android-19,您可以:
如中所述: http://developer.android.com/reference/android/nfc/NfcAdapter.html#FLAG_READER_NO_PLATFORM_SOUNDS
通过使用 NfcAdapter.enableReaderMode() 和标志 FLAG_READER_NO_PLATFORM_SOUNDS 而不是 NfcAdapter.enableForegroundDispatch()
【讨论】:
请阅读How to Answer 并提供答案链接中的有用信息。如果链接失效,您的答案将变得毫无用处。【参考方案2】:这里是一个简单的例子,说明如何静音/改变 nfc 声音
public class MainActivity extends Activity implements ReaderCallback
private NfcAdapter mNfcAdapter;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
@Override
public void onResume()
super.onResume();
// This example works using using simple mifare ultralight tags. Set any necessary flags for other tags
mNfcAdapter.enableReaderMode(this, this, NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_NO_PLATFORM_SOUNDS, null);
@Override
public void onPause()
super.onPause();
mNfcAdapter.disableReaderMode(this);
@Override
public void onTagDiscovered(Tag tag)
// Play your own sound here
// Then handle your tag
【讨论】:
【参考方案3】:无法以编程方式关闭此声音或覆盖 Touch to Beam UI。
【讨论】:
现在可以了,见***.com/questions/36908374/…以上是关于扫描/识别 NFC 意图时防止提示音的主要内容,如果未能解决你的问题,请参考以下文章
如何防止应用关闭时 startCommand 的意图返回 null