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

从 Android 5.0 Lollipop 开始,谷歌禁用了第三方对 2G/3G/LTE 切换设置的访问。

因此,如果没有 Rooting 运行 OS android 5.0 及更高版本的设备,您所说的任何要求都可能无法实现!

于 2015-08-11T13:51:09.210 回答