2015-08-28 51 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

相關問題