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

단말기별로 내장 APP 패키지 경로가 다른 경우 어떻게 실행(이동)하지요?

0 추천
메뉴 - 세팅 - 와이파이설정

3G on/off 하는 화면이 com.android.settings.XXXXXXX 이라고 합니다.

보통 인텐트 설정하고 startActivity로 액티비티를 불러오게 됩니다.

근데 이것이 어떤폰에서는 되고 어떤폰에서는 매니페스트에 액티비티 추가하라는 오류를 뱉어냅니다.

추가할 필요도없이 기본 내장APP인데 패키지 경로가 조금씩 다른가 봅니다.

저 화면으로 꼭 이동을 해서 3G를 on / off 시켜야 되는데...

다른분들은 이럴 경우 어떻게 처리하나요.??

 

궁극적인 목적은 3G를 강제로 off 시키는 것입니다.

강제 OFF 코드가 있긴 한데 이것 역시 어떤폰은 되고 어떤폰은 안됩니다;;;; ( 에러는 없음 )

 

3G를 강제로 off 시키는 목적은

특정 사설 WIFI에 접속할 경우 192로 시작되는 로컬 IP를 얻어오게 됩니다.

보통폰은 WIFI접속시 3G는 자동 OFF가 되는데

이게 또 간혹가다 특정폰에서 3G에서 WIFI로 전환시 3G가 OFF되지 않고 상태바에 WIFI와 3G가 동시에 켜져있는

경우가 있습니다.

이 경우 WIFI관련 클래스에서 getIPAddress()를 보면 , 분명 WIFI에 접속은 되어 있지만 아이피 할당은 192가 아닌

다른 형태의 3G아이피를 리턴하게 됩니다.

WIFI에 붙은건 맞지만 실제 리턴되는 IP주소는 로컬이 아닌 3G IP가 나오는데...

이게 3G 모드가 켜져 있어서 그런건지...... 아니면 버그인건지.... 뭘까요?
ankarkied (3,210 포인트) 님이 2013년 3월 2일 질문

1개의 답변

0 추천

안드로이드의 Intent  는 암시적 호출과 명시적 호출로 2가지로 나뉩니다.

 

하나는 직접 클래스를 호출해서 사용하는 방법이 있고

 

하나는 Intent-filter 를 사용해서 호출하는 방법입니다.

 

데이터 네트워크와 관련된 Activity 의 Intent-Filter 가 존재하는 걸로 알고 있는데

그걸 알아보시는게 빠를 것 같습니다.

 

대개 방법은

Intent settingIntent = new Intent(Intent.ACTION_VIEW);

IntentFilter filter = new IntentFilter(...);

settingIntent.setIntentFilter(filter);

 

이런 방식입니다.

 

코드는 즉흥적으로 쓴거라 맞지 않을 수도 있습니다.

익명사용자 님이 2013년 3월 2일 답변
...