先谢谢您的帮助。
我正在开发一个用于研究目的的 Android 应用程序,需要禁用软输入键盘上的语音到文本按钮。其原因是由于我正在开发的应用程序使用麦克风而出现并发问题。我知道对于一般应用程序来说,禁用按键通常被认为是不可能的(因为用户可能会更改默认键盘)。我知道将使用默认键盘这一事实。
考虑到这一点,是否可以禁用某些键?我相信至少我应该能够指定输入类型,以便隐藏麦克风按钮。我这样说是因为如果我在设置中禁用语音到文本(不是以编程方式,而是作为用户手动),麦克风图标将从键盘中删除。我愿意接受任何可能的解决方案(不使用默认键盘除外),因为此应用程序不会出现在游戏商店中。
除了用户设备中已存在的预定义键盘之外,您无法强制用户通过任何其他方式进行输入。
解决这个问题的唯一方法是编写自己的自定义即时键盘,这是一个非常糟糕的主意。
只需在您正在查看的 EditText 中使用 XML 声明以编程方式禁用语音输入即可。您可以使用属性来做到这一点:
android:privateImeOptions="nm" // nm stands for No Microphone.
如果您想以编程方式设置它,您可以尝试以下操作:
// deprecated i guess
edt_txt.setPrivateImeOptions("nm");
// this one is new but it works only with Google Keyboard.
edt_txt.setPrivateImeOptions("com.google.android.inputmethod.latin.noMicrophoneKey");
您可以以 CVS 形式组合 PrivateImeOptions 参数中的值,因此最好的选择是使用:
edt_txt.setPrivateImeOptions("nm,com.google.android.inputmethod.latin.noMicrophoneKey");
浏览一下here看看是否能找到您要找的东西。
有关 Google 键盘的更多信息here-> 寻找方法 setOptions
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)