2016-08-22 20 views
2

Jelly Beanデバイスへのインストール時にOS言語をスペイン語に変更するアプリを開発する必要があります。サイレントモードで実行し、エンドユーザーと対話する必要はなく、別の言語を選択する必要はなく、変更を元に戻す必要はありません。アプリをインストールしてスペイン語に変更するAndroid Jelly BeanデバイスのOS言語設定を変更する

ウェブ上で多くの例が見られましたが、うまくいきません。私はAndroidスタジオを実行する方法を知っていると私は見つけるが、正しく動作しないコードを収容する。

は、実は私はこのような何かをしようとする(ただし、成功を収めて)

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    String languageToLoad = "es_ES"; // your language 
    Locale locale = new Locale(languageToLoad); 
    Locale.setDefault(locale); 
    Configuration config = new Configuration(); 
    config.locale = locale; 
    getBaseContext().getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics()); 
    this.setContentView(R.layout.activity_main); 
} 

} 
+0

OSの言語設定を変更することはできません。これは大きなセキュリティホールになります。 – Jehy

+0

こんにちはJehy、あなたの応答に感謝します。私はあなたが何を意味するのか理解していますが、なぜこのアプリケーション「https://apkpure.com/adb-change-language/net.sanapeli.adbchangelanguage」がそれを(そして非常にうまく)実行できるのかを理解しています。実際、ADBコマンドを使用してバックグラウンドで変更することができます。 –

+0

これは、そのようなアクセス許可を与えることができるadbを使用しているため、これが動作します。説明をチェックしてください: 'Usage: - このアプリケーションをインストール - あなたのデバイスへのadb接続のセットアップ(http://developer.android.com/tools/help/adb.html) - Android OS 4.2以降(ヒント:ここのコマンドをコマンドコンソールに貼り付けてください): adb shell pm grant net.sanapeli.adbchangelanguage android.permission.CHANGE_CONFIGURATION' – Jehy

答えて

0

このコードのFAを使用してくださいました=ペルシャ... EN =英語... はlanguageToLoadであなたの言語コードを入力します。

import android.app.Activity; 
import android.content.res.Configuration; 
import android.os.Bundle; 

public class Main extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    String languageToLoad = "fa"; // your language 
    Locale locale = new Locale(languageToLoad); 
    Locale.setDefault(locale); 
    Configuration config = new Configuration(); 
    config.locale = locale; 
    getBaseContext().getResources().updateConfiguration(config, 
     getBaseContext().getResources().getDisplayMetrics()); 
    this.setContentView(R.layout.main); 
    } 
} 
+0

こんにちはRyaz、これは私が使用している多かれ少なかれ同じコードです。ところで、私はそれを同じ結果でコピーして実行しました。言語は変化していません。 –

+0

この作業コードは、現在のアクティビティのlanguagneのみを変更します。 – k3b

関連する問題