0

私はアンドロイドアプリを書きたいです。画面がオフの場合、このアプリはモバイルデータのみ 2G に設定する必要があります。画面がオンの場合、モバイルデータの両方(2G / 3G)に設定する必要があります。

そのためには、プログラムでモバイル データ型を変更する必要があります。これどうやってするの ?

ネットワークの種類を確認したところ、正しい結果が得られました。

このROMはそれを行いますが、これを行う方法を知りたいです: http://www.gregsbits.com/2012/04/ Saving-your-battery-through-aokp-rom.html

onCreate()

TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);

        if(manager.getNetworkType()==TelephonyManager.NETWORK_TYPE_EDGE){
            tx.setText("Edge"); 

            int enabled = Settings.Secure.getInt(getContentResolver(),
                    "preferred_network_mode", -1);
            Log.d("MYAPP", "2G only enabled: " + enabled);

        }
        else{
            tx.setText("3G");
            cm.setNetworkPreference(TelephonyManager.NETWORK_TYPE_EDGE); //I'm trying
            cm.startUsingNetworkFeature(TelephonyManager.NETWORK_TYPE_EDGE, "Deneme"); //I'm trying

        }
4

1 に答える 1

0

2G/3G/LTE トグル設定へのサードパーティ アクセスは、Android 5.0 Lollipop 以降、Google によって無効化されています。

したがって、OS Android 5.0以降を実行するデバイスをルート化しないと、あなたが述べた要件が何であれ、実装できない可能性があります!

于 2015-08-11T13:51:09.210 に答える