2016-06-30 7 views
0

Androidの上では、我々は/system/binimeようにするJava/C++または端末(からキーボードの入力言語(英語(US)、などヒンディー語、フランス語、)を変更することができますアンドロイド - チェンジキーボードプログラムで

+1

私はそれが可能だとは思いません。キーボードはそれ自体がアプリケーションなので、参照してください:http://stackoverflow.com/questions/12303593/change-keyboard-input-language –

答えて

1

下に確認してくださいことはできません。

protected static void changekeyboard(String keyboardID, ContentResolver contentResolver) 
    { 
     String oldDefaultKeyboard = Secure.getString(contentResolver, "default_input_method"); 
     Secure.putString(contentResolver, "enabled_input_methods", keyboardID); 
     Secure.putString(contentResolver, "default_input_method", keyboardID); 
    } 

in keyboardID設定するキーボードのkeyboardIDを渡す必要があります。

か、すべてのキーボードのリストを取得し、そこからIDを取得し、このよう

それを渡すことがあります。

List<InputMethodInfo> InputMethods = ((InputMethodManager) getApplicationContext().getSystemService("input_method")).getInputMethodList(); 
      this.keyboard_name = new ArrayList(); 
      int numOfKeEyboards = InputMethods.size(); 
      for (int i = 0; i < numOfKeEyboards; i++) 
      { 
       fullKeyboardName = ((InputMethodInfo) InputMethods.get(i)).toString(); 
       keyboard_package = fullKeyboardName.substring(fullKeyboardName.indexOf("{") + 1, fullKeyboardName.indexOf("/")); 
       try 
       { 
        // by package name getting app name 
        inputKeyboardName = getPackageManager().getApplicationInfo(keyboard_package, 0).loadLabel(getPackageManager()).toString(); 
       } 
       catch (NameNotFoundException e) 
       { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
       this.keyboard_name.add(inputKeyboardName); 
      } 
+0

これをテストしますが、これは正しく見えます。ありがたいことに、私は2年前に私の電話に根差してきました –

0

はい?それは、それは非常に可能ですが、デバイスが根付いする必要がありますか、あなたのアプリケーションは、システムが署名する必要がありますそれはここでは可能ではないと述べた人のための答え

Change Keyboard input language

+0

ニース**コピー貼り**、リンクを忘れてu:[元の回答](http://stackoverflow.com/a/12303734/4782930) – Strider

+0

@Strider私の意図は、私がペーストしたものをコピーするのを助けることでした。なぜならその答えを辿らなかったかもしれないからです。 –

+0

**元の著者**にクレジットを与えて、元の回答へのリンク。しかし、この答えはOPを助けません。 **そして**これは、コメントで述べた@KISHORE_ZEとほぼ同じ答えです。 – Strider

関連する問題