Chioșcurile ne înconjoară pretutindeni. Desigur, astăzi nu vorbim despre tarabe în care poți să cumperi înghețată sau limonadă - vom vorbi despre chioșcuri de informații mobile.
Un chioșc de informații obișnuit este un terminal cu software instalat, cu care utilizatorul poate efectua un set limitat de acțiuni. Cele mai frecvente exemple: bancomate, fotocopiatoare, automate de vânzare de bilete, automate de distribuire a cupoanelor la coadă și altele.
Chioșcuri mobile
Chioșcurile mobile sunt folosite, de exemplu, ca meniuri electronice în restaurante, directoare pentru consultanți de vânzări, pentru a demonstra o linie în magazinele de îmbrăcăminte sau în magazinele de autovehicule. În acest caz, utilizarea dispozitivului în scopuri non-comerciale este exclusă.
Pentru ca dispozitivul să funcționeze în modul chioșc, acesta rulează un program care blochează funcționalitatea OS și împiedică utilizatorul să părăsească aplicația.
Aplicațiile chioșc pot avea un panou administrativ secret sau pot fi configurate de la un server de la distanță. De asemenea, puteți configura sistemul de raportare: aplicația va trimite statistici privind comportamentul utilizatorului către server și va informa administratorul despre starea acestuia.
Echipa Azoft a fost implicată în crearea de aplicații. care funcționează ca mod chioșc pentru dispozitive Android. În acest articol, vom discuta despre capcanele dezvoltării aplicațiilor chioșc și despre modul de rezolvare a problemelor apărute.
Modul chioșc în Android
Pentru a transforma un dispozitiv Android într-un chioșc, trebuie mai întâi să-i blocați toate butoanele și conectorii. În acest caz, soluția cea mai banală și, în același timp, cea mai eficientă va fi plasarea unui dispozitiv într-o cutie antivandală, care, desigur, este departe de a fi întotdeauna posibilă. În plus, bara de stare, dialogurile de sistem și tastatura virtuală rămân, cu care puteți accesa setările. Cum să depășim aceste dificultăți?
Android 5.0: API-ul mult așteptat
Să începem cu vestea bună: Android 5.0 are un API numit Screen pinning. Pinul în limba engleză înseamnă a fixa sau unghii. Noul API "fixează" ecranul și interzice utilizatorului să părăsească aplicația selectată. Această funcționalitate poate fi utilizată atât în crearea de chioșcuri pentru personalul de întreținere, cât și în dezvoltarea aplicațiilor de instruire pentru examinări și evaluarea cunoștințelor.
Când modul de fixare a ecranului este activat, utilizatorul nu este întrerupt de dialoguri și notificări de sistem, nu are acces la alte aplicații, nu poate accesa ecranul principal și nu vede bara de stare.
Puteți activa modul în setări sau în software:
- Activați fixarea ecranului în setări, apoi selectați aplicația dorită și asigurați-o prin confirmarea alegerii.
- Pentru activarea software-ului este suficient să apelați metoda startLockTask () și să confirmați modul de blocare.
Android până la 5.0: cum să ocolim sistemul?
Din nefericire, în versiunile anterioare de SDK Android, nu este furnizat modul chioșc. De asemenea, nu există niciun API holistic pentru organizarea unei blocări complete. Prin urmare, toate componentele sunt blocate separat și în diferite moduri în diferite versiuni.
Personalizarea firmware-ului poate simplifica foarte mult implementarea modului chioșc, dar oferim câteva tehnici care vor ajuta la blocarea elementelor nedorite în versiunile Android de mai jos 5.0, fără a necesita nici un firmware special, nici drepturi de rădăcină.
repornire
Primul lucru care îți vine în minte când un utilizator închide sau apar alte probleme este să reporniți dispozitivul. Sarcina noastră este să vă asigurați că aplicația chioșc va porni automat după repornire.
Acest lucru este ușor: descriem receptorul în manifeste, dăm permisiunea de a primi un mesaj despre repornirea dispozitivului și de a crea o subclasă a receptorului difuzat care va lansa aplicația noastră.
BACK butonul
Pentru butonul Înapoi, trebuie doar să înlocuiți metoda.
Butonul HOME
Butonul HOME nu poate fi interceptat, astfel încât pentru a împiedica comutarea la ecranul principal atunci când este apăsat, specificăm aplicația chioșc ca lansator. Adăugăm trei linii la manifest:
Acum, când apăsați butonul HOME, vi se va oferi o alegere între două lansatoare: a noastră și lansatorul de sistem. Alegeți aplicația noastră ca lansator implicit - și ați terminat!
Butonul POWER
Butonul POWER ridică cele mai multe întrebări. Unul dintre hack-urile care permit prelucrarea clicului său este de a seta fereastra aplicației chioșc ca ecran de blocare. Cu toate acestea, această metodă este garantată numai pentru versiunile Android de mai jos 4.0.
Dialoguri de sistem
O apăsare lungă a butonului HOME sau POWER solicită un dialog de sistem, cu ajutorul căruia puteți ieși din aplicație. În plus, există în continuare ferestre pentru actualizări de sisteme de operare și putere redusă pentru baterii, care sunt, de asemenea, periculoase pentru chioșc, deoarece pot avea acces la setările sistemului.
Pentru a scăpa complet de dialogurile de sistem, vă prescriim următoarele: dacă focalizarea este pierdută, activitatea trimite Broadcast - închide toate dialogurile de sistem.
claviatură
Tastatura virtuală poate avea un buton de setări. Dacă este necesară o tastatură, cea mai bună soluție este să creați o variantă personalizată sau să integrați una dintre cele existente cu funcționalitate limitată.
Bara de stare
Bara de stare vă oferă o gamă largă de opțiuni pentru a ieși din aplicație, deci trebuie să scăpați de ea.
Primul lucru pe care îl puteți face este setarea aplicației la modul ecran complet.
Înainte de versiunea 4.0, puteți specifica și tipul ferestrei TYPE_SYSTEM_ALERT - în acest caz, aplicația kiosk va fi afișată în partea de sus a tuturor elementelor sistemului.
O altă modalitate este de a restrânge bara de stare de îndată ce este gata să se întoarcă. Pentru a face acest lucru, trebuie să specificați permisiunea din manifest.
Începând cu Android 4.1, puteți utiliza setul SDK pentru a ascunde bara de stare.
O altă metodă populară este de a crea un obiect transparent de vizualizare care interceptează toate clicurile, starea pe site a barei. Implementarea necesită pavilionul SYSTEM_ALERT_WINDOW.
Metodele descrise - aceasta nu este o listă completă de opțiuni pentru blocarea elementelor sistemului din Android. Dezvoltatorii găsesc în mod constant sau inventează ceva nou, împărtășesc experiență și creează chioșcuri de aplicații, pentru a eluda limitările în care nimeni, chiar și cel mai greu, nu poate.
Împărtășiți-ne cu dvs. secretele dvs. de creare a chioșcurilor mobile pentru Android: folosiți metodele descrise în articol, ce avantaje și dezavantaje găsiți în ele și ce alte hack-uri vă sunt cunoscute.