안녕하세요~ 궁금한 질문이 있어서 올립니다.


3G/4G 데이터 네트워크가 허용된 상태일 경우 차단으로 상태를 변경하고 싶습니다~


검색 결과 아래와 같이 구현할 수 있다고 하여 2,3 버전 이상에서 테스트한 결과 변경이 안됐습니다.


2.3 이상에서는 변경하는 권한이 시스템 권한으로 넘어갔다고 하는데요..


이에 대해서 알고 계시거나 구현할 수 있는 방법이 있다면 알려주시면 감사하겠습니다.^^ 




<테스트 코드>

public void TelephonyAidl(Context context, boolean dataconnectivity) throws Exception { 

TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);

@SuppressWarnings("rawtypes")

Class c = Class.forName(tm.getClass().getName()); 

Method m = c.getDeclaredMethod("getITelephony"); 

m.setAccessible(true); 

ITelephony telephonyService; 

telephonyService = (ITelephony)m.invoke(tm); 


if(dataconnectivity) {

telephonyService.enableDataConnectivity();

} else {

telephonyService.disableDataConnectivity();

}

}