저는 Android 개발자입니다. 내 응용 프로그램의 버튼을 통해 3G connection
을 켜거나 끕니다.Android에서 3G를 켜고 끄는 방법
답변
최근에이 주제에 대한 광범위한 검색을 수행했으며, 귀하가 앱을 루트로 실행하지 않는 이상 현대 안드로이드 버전에서는이 문제에 대한 간단한 해결책이 없다고 말해야합니다.
간단하지만 제한된 해결 방법을 찾았습니다. Wi-Fi가 다운 된 경우에만 3G 연결이 활성화되므로 네트워크 연결을 초기화 할 때마다 WiFi가 연결되어 있고 연결되어 있는지 확인해야합니다. 당신이 ACCESS_NETWORK_STATE
권한이 필요
public class MyActivity extends Activity {
boolean enable3g = false;
public void onCreate() {
setContentView(R.layout.my_layout);
Button enable3gButton = (Button) findViewById(R.id.button3g);
enable3gButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
MyActivity.this.enable3g = !MyActivity.this.enable3g;
}
});
if (enable3g || isWifiConnected()) {
// do your stuff that requires network access here
}
}
public boolean isWifiConnected() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected();
}
}
(물론 활동의 선언) :
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application .....>
<activity android:name="MyActivity" />
와이파이가 연결되지 않은 경우합니다 (isWifiConnected()
메소드가 반환 아래 샘플 활동에 대한 몇 가지 코드입니다 false
) 연결을 시작하지 마십시오. 기존의 TCP 연결은 한 네트워크에서 다른 네트워크로 "점프"할 수 없으므로 Wi-Fi 연결이 끊어지면 시간이 초과되어 솔루션이 상당히 안전합니다.
제한 사항은 응용 프로그램의 연결을 제어 할 수 있어야한다는 것입니다. WebView 또는 일부 타사 소프트웨어를 사용하는 경우 까다로울 수 있습니다.
내 objectif는 버튼을 만드는 것입니다, 그리고 사용자가 그것으로부터 인터넷을 켤 수 있습니다! 나는 해결책을 찾지 못했습니다. – user2207848
예제 활동을 포함하도록 예제를 확장했습니다. 이것은 레이아웃 파일'my_layout.xml'에 버튼을 정의한 것으로 가정하고 버튼의 id는'button3g'입니다. 네트워크를 필요로하는 모든 코드를'if' 블럭으로 감싸고,'enable3g'가'true'로 설정되어 있는지, 아니면 버튼을 이용하여 이루어 졌는지 확인해야합니다. – ohaleck
매니페스트에 몇 가지를 추가해야하나요? – user2207848
- 1. 사운드 버튼을 켜고 끄는 방법
- 2. 테이블 행을 켜고 끄는 방법
- 3. 비활성화 버튼을 켜고 끄는 방법
- 4. BlackBerry 메뉴를 켜고 끄는 방법?
- 5. 이온 라디오를 켜고 끄는 방법?
- 6. 안드로이드에서 블루투스를 켜고 끄는 방법?
- 7. Android 게임에서 소리를 전세계에서 켜고 끄는 방법
- 8. 자동 밝기를 켜고 끄는 방법? (반복이 아님)
- 9. JQPlot 라인 스무딩을 켜고 끄는 방법
- 10. 토글 버튼으로 gprs를 켜고 끄는 방법?
- 11. TStringGrid의 셀 색상과 텍스트를 켜고 끄는 방법
- 12. selectmenu를 켜고 끄는 방법 JQuery mobile
- 13. 서비스에서 플래시 카메라를 켜고 끄는 방법
- 14. Windows CE에서 WLAN을 켜고 끄는 방법 - 어떻게?
- 15. PyQt - 맞춤법 검사를 켜고 끄는 방법
- 16. 파이썬을 사용하여 마이크를 켜고 끄는 방법
- 17. SKNode의 SKEffectNode를 올바르게 켜고 끄는 방법은 무엇입니까?
- 18. Windows에서 전원을 켜고 전원을 끄는 코드 azure
- 19. iOS에서 화면을 켜고 끄는 애니메이션 활성화
- 20. NSPanel에서 NSNonactivatingPanelMask를 켜고 끄는 것이 가능합니까?
- 21. USB 알람 라이트를 켜고 끄는 Java API
- 22. firefox addons를 켜고 끄는 바로 가기
- 23. cordova를 사용하여 안드로이드에서 gps를 켜고 끄는 법
- 24. Android에서 화면을 켜고 끕니다.
- 25. PHP를 사용하여 조명 및 에어컨을 켜고 끄는 방법?
- 26. JQ로 체크 박스와 라디오 버튼을 켜고 끄는 방법
- 27. 재생하는 동안 편집기에서 통계 패널을 켜고/끄는 방법?
- 28. .NET 인증을 기반으로 JQuery ajax를 켜고 끄는 방법
- 29. 프로그래밍 방식으로 Windows 시스템 네트워크 아이콘을 켜고 끄는 방법
- 30. Windows Phone 7에서 GPS를 프로그래밍 방식으로 켜고 끄는 방법
해당 스레드는 최신 답변을 제공하지 않습니다. 주어진 솔루션은 2.2 이후에 작동을 멈추거나 루트 액세스가 필요합니다. – ohaleck
아래에 답변으로 가능한 회피 방법에 대한 설명이 추가되었습니다. 그것은 내 애플 리케이션 중 하나에서 잘 작동합니다. – ohaleck