2015-08-28 20 views
3

在此先感谢您的帮助。以编程方式在android中的软输入键盘上禁用语音到文本按钮(微型手机)

我正在开发一个用于研究目的的android应用程序,并且需要在软输入键盘上禁用语音到文本按钮。原因是由于我开发的应用程序使用麦克风后出现的并发问题。我知道,对于一般应用程序来说,禁用键通常被认为是不可能的(因为用户可能会更改默认键盘)。我知道一个事实,即将使用默认键盘。

记住这一点是否可以禁用某些键?我相信至少我应该能够指定输入类型,以便隐藏麦克风按钮。我这样说是因为如果我在设置中禁用语音(不是以编程方式,而是以用户身份手动操作),则麦克风图标将从键盘上移除。我接受任何可能的解决方案(不使用默认键盘除外),因为此应用程序不会出现在Play商店中。

回答

3

您无法通过用户设备中已存在的预定义键盘以外的任何其他设备强制用户输入。

你可以解决这个问题的唯一方法是编程你自己的自定义,即时键盘,这是一个非常糟糕的主意。

只需在您正在查看的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,看看是否能找到你要找的东西。关于谷歌键盘

更多信息here - >寻找方法setOptions

+0

我在,看上去也是如此。但是,我没有在我的应用程序的这部分中使用xml。我想以编程方式做到这一点。 – HXSP1947

+0

你可以尝试像这样edit_text.setPrivateImeOptions(“nm”); –

+1

这使得愚蠢的感觉哈哈。谢谢你的工作就像一个魅力。 – HXSP1947

相关问题