2012-04-04 4 views
1

나는 클라이언트 (주로 어린이)에게 전화기 (Android)를 나누어주고 '잠금'앱을 만들고 싶습니다. 클라이언트가 휴대 전화의 PIN 코드로 귀찮게하지 말고 기기를 켜면 '잠금'앱이 시작됩니다. 그런 다음 버튼을 덮어 쓰면 phonecalls을 만들 수 없습니다.sim을 풀고 소프트웨어를 pincode에 넣을 수 있습니까?

sim을 제거한 경우 나 도난의 경우에만 simcard에 pincode가 필요합니다. 그래서 내 '잠금'앱이 코드로 핀을 넣어 시뮬레이션을 잠금 해제 할 수 있습니까?

어떻게하면됩니까?

답변

5

가능합니다. 이 코드에서 그것을 할 : 그렇게하기 위해서는

try { 
     @SuppressWarnings("rawtypes") 
     Class clazz = Class.forName(telephonyManager.getClass().getName()); 
     Method m = clazz.getDeclaredMethod("getITelephony"); 
     m.setAccessible(true); 
     ITelephony it = (ITelephony) m.invoke(telephonyManager); 
     if (it.supplyPin("1234")) { 
      // SIM unlocked 
     } else { 
      // not unlocked 
     } 

    } catch (Exception e) { 
     // 
    } 

, 당신은 ITelephony 인터페이스가 필요합니다. 출처는 here입니다. com.android.internal.telephony 패키지를 src 폴더에 만들고 iTelephony.java를 거기에 넣으십시오. 이 방법은 * android.permission.MODIFY_PHONE_STATE * 권한을 사용합니다.이 권한은 Android 2.2에서만 사용할 수 있습니다. 버전 2.3 이후로이 권한은 시스템 앱으로 제한됩니다. 최신 버전에서이 코드를 사용하려면 응용 프로그램 apk 파일을/data/app에서/system/app 폴더로 이동해야합니다.

관련 문제