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

LTE가 연결된 끄고 켜기

0 추천

제가 앱을 만들어 본 경험이 없어서요 인터넷에서 자료를 찾아 보고 만들었는데요

LTE가 연결된 끄고 켜기를 자동으로 하고 싶습니다.

네트워크가 연결 되면 특정 웹 사이트 A경로로 갔다가 B 경로로 가게 하고 싶습니다. 

그런데 일부(팬텍 베가3)폰에서는 A로는 이동되고 B로 이동에 안되네요 스레드에 sleep시간을 늘리거나 줄여 봐도 비슷하네요

그리고 데이터(LTE)를 끄고 켜고를 계속 하면서 웹 사이트 연결이 되었다 안되었다 하는데요

원인을 모르겠습니다.

아래는 전체 소스 입니다. 

간단한 힌트라도 환영합니다 답변 부탁 드립니다.

일부 소스

//데이터 켜고 끄기
public void TurnDataNetwork(boolean enabled){
    ConnectivityManager dataManager;
    dataManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    Method dataMtd = null;

    try {
        dataMtd = ConnectivityManager.class.getDeclaredMethod("setMobileDataEnabled", boolean.class);
    } catch (NoSuchMethodException e){
        e.printStackTrace();
    }

    dataMtd.setAccessible(true);

    try {
        dataMtd.invoke(dataManager, enabled);
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    }
}
class clockThread extends Thread{
    public clockThread(){

    }

    @Override
    public void run(){
        super.run();

        boolean isThread = GlobalVar2.getInstance().get_bb_Thread();
        isThread = true;

        int cnt = 1;
        while (isThread){
            Log.i("#####", "cnt:"+cnt);

            try{
                if(isThread == true){

                    //데이터끄기
                    TurnDataNetwork(false);

                    while(true){
                        //중지버튼클릭시 중지
                        if(isThread == false){
                            break;
                        }

                        if(checkNetworkstate() == false){
                            loadHandler.sendEmptyMessageDelayed(0, 200);
                            Log.i("#####", "OFF1");
                            break;
                        }

                        //threadToast("DATA : ON");
                        Log.i("#####", "ON");
                        movieIntent("http://m.naver.com");
                        //loadHandler.sendEmptyMessageDelayed(0, 10000);
                        Thread.sleep(3000);
                        movieIntent("http://m.daum.net");
                        //loadHandler.sendEmptyMessageDelayed(0, 5000);
                        Thread.sleep(3000);

                    }

                    //중지버튼클릭시 중지
                    if(isThread == false)
                        break;

                    if(checkNetworkstate() == false){
                        TurnDataNetwork(true);
                        while (true){
                            //중지버튼클릭시 중지
                            if(isThread == false)
                                break;

                            if(checkNetworkstate() == true){
                                loadHandler.sendEmptyMessageDelayed(0, 200);
                                break;
                            }
                            Log.i("#####", "OFF2");
                            Thread.sleep(3000);

                            movieIntent("http://m.naver.com");
                            Thread.sleep(3000);
                            movieIntent("http://m.daum.net");
                            Thread.sleep(3000);
                        }
                    }

                    //중지버튼클릭시 중지
                    if(isThread == false)
                        break;

                    Log.i("ON/OFF CNT", String.valueOf(cnt));
                    cnt++;

                    int bi_time = GlobalVar2.getInstance().get_bi_time();
                    isThread = GlobalVar2.getInstance().get_bb_Thread();

                    Thread.sleep(bi_time);
                    Log.i("Time", String.valueOf(bi_time));
                }

            }catch (InterruptedException e){
                e.printStackTrace();
            }

        }
    }
}

 

 

다클 (120 포인트) 님이 2016년 4월 25일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...