2013-03-21 5 views
1

PowerManager의 wakeUp 메서드를 사용하고 싶습니다. Eclipse (ADT)는이 방법을 다시 설정하지 않습니다.Android : PowerManager.wakeUp을 사용하는 방법?

PowerManager pm = (PowerManager) MyApplication.getAppContext().getSystemService(Context.POWER_SERVICE); 
pm.wakeUp(SystemClock.uptimeMillis()); //Detected as error by eclipse 
pm.goToSleep(SystemClock.uptimeMillis()); //Not detected as error and work well 

이클립스 오류 :하지만 거기에 반대 "goToSleep"에 대한 문제가되지 않습니다

The method wakeUp(long) is undefined for the type PowerManager 

이클립스는 나에게 quickfix을 제안,하지만 난 같은 오류했습니다 :

((Object) pm).wakeUp(SystemClock.uptimeMillis()); //the same error 

이 버그인가요, 아니면 저입니까? 감사합니다. Luksprog는 지적

+1

'wakeUp()'메소드가 API 레벨 17부터 사용할 수 있다는 것을 알았습니까? – Luksprog

+0

예, 알았지 만 Android.jar이 4.1.2 (16)에 있습니다. 도와 줘서 고마워, 어리석은 질문에 유감. – Alabate

답변

4

먼저, 그 방법은 API 레벨 또한 17

새로운, 그것은 서명하는 데 사용으로는 동일한 서명 키로 서명 응용 프로그램이 보유 할 수있는 DEVICE_POWER 권한을 필요로 펌웨어.

+0

답변 해 주셔서 감사합니다. 문제는 실제로 API 레벨입니다. 하지만 권한은 내 프로젝트에 대한 것이 아니며, 나/friend/familly만을위한 앱을 만들었고 시스템 앱으로 넣을 수 있습니다. – Alabate

+0

@ user2177400 : 시스템 앱이 충분하지 않습니다. 'DEVICE_POWER'는'서명'수준의 권한입니다. – CommonsWare

+0

하지만'goToSleep'은 나를 위해 작동하며'DEVICE_POWER'도 필요합니다. – Alabate

1

맞춤 ROM이 있습니다. sleep()wakeUp()uiautomator에서 api 수준 16부터 기본적으로 PowerManager wakeUp() 및 goToSleep()과 동일한 기능을 수행하지만 os에 의해 부여되지 않는 권한에 의해 제한되지는 않습니다 (android.permission .DEVICE_POWER).

내 기타 answer을 참조하십시오. 여기서 설정에 대해 더 자세히 설명합니다.