마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 데이터(네트워크) 차단 방법

0 추천

어플을 실행했을 때 자동으로 데이터(LTE)가 차단되게 하고싶습니다.

구글링으로 소스를 찾아보면서 알아봤는데 안되네요.

아래는 제가 짜본 소스입니다.

 

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private Context mContext = null;
    private Button mBtn = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mContext = this;
        mBtn = (Button) findViewById(R.id.button1);
        mBtn.setOnClickListener(this);
    }
    private void setMobileDataEnabled(boolean enabled) throws Exception {
        ConnectivityManager dataManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        Method dataMtd = ConnectivityManager.class.getDeclaredMethod("setMobileDataEnabled", boolean.class);
        dataMtd.setAccessible(true);
        dataMtd.invoke(dataManager, enabled);

    }
    @Override
    public void onClick(View v) {
        if (v.equals(mBtn)) {
            try {
                setMobileDataEnabled(false);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

매니페스트xml에 퍼미션은 아래 4개를 추가했습니다.

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>

YCY (150 포인트) 님이 2016년 7월 7일 질문

1개의 답변

0 추천
 
채택된 답변
자바 리플렉션을 이용한 방법을 사용하는 것으로 보입니다만

해당 사항은 오래전에 막혔습니다.

임의로 제어 할 수 있는 방법이 현재는 사라진 것으로 알고 있습니다.
익명사용자 님이 2016년 7월 8일 답변
YCY님이 2016년 7월 8일 채택됨
답변 감사합니다!!ㅠㅠ 그럼 네트워크를 제어할수 있는 방법이 없는건가요 ;ㅅ;
...