2012-07-14 2 views
2

내 휴대 전화 화면을 끄는 간단한 Android 앱을 쓰려고합니다. 이 앱을 실행할 때 보안 예외가 발생합니다. 권한 거부 앱에는 android.permission.DEVICE_POWER가 필요합니다. 이 권한은 보호 된 권한이지만 전화는 루팅 된 것입니다. 이 사용 권한을 사용할 수 있다고 지정하려면 어떻게해야합니까? DEVICE_POWER 권한과 함께 DEVICE_ADMIN 퍼셉션을 선언했지만 이미 작동하지 않습니다.보안 예외 : DEVICE_POWER에 대한 사용 권한 거부

답변

2

잠재적으로 사용자가 안드로이드 보안 모델을 우회하거나 수정할 수는 있지만 반드시이를 강요하는 안드로이드 API에 대한 특별한 권한을 얻는 것은 아닙니다. 루트로 시작할 수있는 헬퍼 실행 파일의 코드는 Android API와 상호 작용하는 데 상당한 어려움을 겪게되지만 일반적으로 응용 프로그램 자체를 루트로 실행할 수는 없습니다.

당신이하려는 것은 실제로 아주 좋은 생각이 아닙니다. 그러나 정말로하고 싶다면 자신의 Android 빌드를 설치해야합니다. 그러면 플랫폼 서명에 사용한 것과 일치하는 (자체 생성 된) 키를 얻을 수 있습니다. 그런 다음 응용 프로그램에 서명 할 수 있습니다. 그렇지 않으면 시스템 파티션에 응용 프로그램을 설치하십시오.

+0

동의합니다. 서명에 대한 추가 정보를 제공해 주시겠습니까? 그렇지만 서명을하면 특정 빌드에 응용 프로그램이 제한됩니다. 그리고 시스템 파티션에 그대로 설치하면 (변경없이) 작동하거나 시스템에서 실행되도록 변경해야합니까? – codejammer

+0

내 시스템 파티션에 응용 프로그램을 설치했지만 여전히 E/AndroidRuntime (1226)을 얻습니다 : java.lang.SecurityException : 사용자 10008도 현재 프로세스도 android.permission.DEVICE_POWER가 없습니다. 이 작업을 수행 할 수있는 맞춤형 Android 빌드가없는 방법이 있습니까? – codejammer

0

화면을 끄고 싶다면 PowerManager을 사용하지 않으시겠습니까? 설명서에 따르면 goToSleep() 기능을 사용하면 장치가 강제로 절전 모드로 전환됩니다.

+0

저는 전원 관리자를 사용하여 잠을 자고 있습니다. 그것을 사용하여 나에게 보안 예외를 던지고있다 – codejammer