Android - Aktivace zámku klíč systému (aka zámek obrazovky)

hlasů
9

Musím aktivovat systém blokování tlačítek Android (ten se dostanete po stisknutí vypnutí / zavěsit tlačítko). Viz zde:

img

Už jsem brouzdal docs, ale všechno, co jsem našel byl PowerManager a KeyguardManager . Obojí se nezdá být řešením :-(.

Ano, všichni víme, jak dosáhnout toho, aby z Android aplikace? (Pokud je potřeba speciální povolení, to není problém, ale změna nastavení zařízení není řešením ...)

EDIT : Nebo někdo ví, že to rozhodně není vůbec možné? Mimochodem. Craigovi řešení s zasílání klíčů už nefunguje (viz poznámky).

Položena 09/04/2009 v 11:58
zdroj uživatelem
V jiných jazycích...                            


5 odpovědí

hlasů
2

Byl jsem hledal odpověď na přesně stejnou otázku na chvíli. Zdá se, že poté, co byly odstraněny 2.0 kupředu směřující Device Manager oprávnění pro úrovni aplikace. Ale s Froyo - 2,2 manažer politika přístroj odhalil udělení nám vývojářům celou řadu kontrol správních úrovní.

http://developer.android.com/guide/topics/admin/device-admin.html

Odpovězeno 02/11/2010 v 12:29
zdroj uživatelem

hlasů
1

Vypadá to, že je funkce uzamčení obrazovky se provádí pomocí metody:

public void goToSleep(long time)

metoda PowerManager.java. Je možné získat odkaz na to tímto způsobem:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

To však vyžaduje povolení

android.permission.DEVICE_POWER

což je úroveň 2 oprávnění k dispozici pouze v systému.

Tak vypadá to není proveditelné. To je pro verze 1.1 pouze, já nevím 1,5.

Odpovězeno 20/04/2009 v 18:33
zdroj uživatelem

hlasů
1

Co hledáte je reenableKeyguard () metoda KeyguardManager.KeyguardLock mého přítele!

Odpovězeno 20/04/2009 v 16:12
zdroj uživatelem

hlasů
0

Kopání přes zdroj Android nalezené WindowManagerService který vypadá, že má veřejnou metodu ( startAppFreezingScreenLocked) pro aktivaci tohoto. To může být dobrým místem, kde začít hledat odpověď, protože bohužel to nevypadá, jako kdyby se můžete dostat přímo objekt WindowManagerService.

Odpovězeno 20/04/2009 v 16:01
zdroj uživatelem

hlasů
0

Tam je docela dobrý příklad zde:

http://www.anddev.org/throwing-simulating_keystrokes_programatically-t717.html

Vypadá to, že můžete programově způsobit jakýkoli úhoz, který bude odeslán do systému. Zní to jako keycode který hledáte je KEYCODE_ENDCALL vy, ale pokud to nefunguje, existuje spousta jiných kódů vyzkoušet zde:

http://developer.android.com/reference/android/view/KeyEvent.html

Nevím, jestli je nějaká volání API způsobit zámek nastat, ale to se zdá jako docela robustní řešení, dokud najít lepší řešení.

Odpovězeno 09/04/2009 v 17:57
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more