2012-10-04 5 views
0

안드로이드 앱을 쓰고 싶습니다. 화면이 꺼지면이 앱은 모바일 데이터 만 2G로 설정해야합니다. 화면이 켜지면 모바일 데이터 모두 (2G/3G)로 설정해야합니다.안드로이드에서 스크린 온/오프시 자동 토글 2G/3G

이렇게하려면 프로그래밍 방식으로 모바일 데이터 형식을 변경해야합니다. 어떻게해야합니까?

네트워크 유형을 확인한 결과 올바른 결과를 얻었습니다.

이 롬이 그것을 수행하지만이 작업을 수행하는 방법을 알고 싶어 : 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 

     } 
+0

2g/3g를 토글하는 응용 프로그램이 시스템 응용 프로그램이기 때문에 ROM에서 수행 할 수 있습니다. 일반 앱에서는 불가능합니다. – mDroidd

답변

0

2 세대/3G/LTE 토글 설정에 대한 타사 액세스가 구글에 의해 비활성화되어 있습니다 Android 5.0 Lollipop부터 시작합니다.

OS를 실행하는 기기를 루팅하지 않고 Android 5.0 이상을 사용하면 명시한 요구 사항을 구현할 수 없을 수도 있습니다!