2011-07-15 10 views
0

高度なセキュリティが必要なアプリケーションを作成しています。このアプリはDroid Xデバイスにデプロイされます。音声とテキストをインターネット経由で送信することはできないため、(マイクアイコンに触れることによって)ソフトキーボードの音声 - テキスト機能にユーザーがアクセスできるようにすることはできません。言語の&キーボード - >マルチタッチキーボード - >に移動して、[音声入力]チェックボックスをオフにして、設定でこの機能を無効にする方法があります。このチェックボックスをオフにすると、ソフトキーボードのマイクアイコンが無効になります。私の必要なのは、私のアプリで、ソフトキーボードをアクティブにするTextViewがあるアプリ内のアクティビティにユーザがいるときに、この機能がオフになっていることをアプリで確認できるようにすることです。私は次のコードを試しましたが、音声認識が無効になっていても音声認識がオンになっていることを示しているため、オフにした機能をチェックしていないようです。プログラムで、ソフトキーボードの音声ディクテーション機能が有効になっているかどうかを確認する方法はありますか?ソフトキーボードの音声のディクテーションが有効になっているかどうかをプログラムで判断します。

PackageManager pm = getPackageManager();<br> 
List activities = pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0); 
if (activities.size() != 0) { 
voice recognition is turned on....NAUGHTY USER! 
displayAlertMessage("You are naughty! You turned on voice recognition...No data entry will be allowed until this feature is turned off!"); 
} 

答えて

0

このように2つの側面があります。まず、プログラムが無効になっているかどうかを判断する信頼性の高い、きれいな方法がないように見えます。一般的に、音声入力の設定方法は、入力された入力と区別できないはずです。構造的には、どちらか一方の違いを伝えるべきではありません。上のコードでは、アクティビティがないかどうかを確認します。アクティビティが無効な場合、アクティビティが削除されません。

一方、InputMethodManagergetCurrentInputMethodSubtypeを見ると、これはindicate the input modeになると思われます。それはあなたが望むことをするかもしれませんが、わかりません。

私に知らせてください。

関連する問題