Home> Blog

Android kioszk beállítása: Mit tegyél, ha az eszköz tulajdonosa kizárja a beállításokból

2026-09-11 09:09:05
Android kioszk beállítása: Mit tegyél, ha az eszköz tulajdonosa kizárja a beállításokból

A10,1 hüvelykes Android-tablet aDB-parancsokkal, egyéni indítóprogrammal és eszköz-tulajdonosi jogosultsággal konfigurálták kioszküzemeltetésre. Az újraindítás után az alkalmazás várakozás szerint elindult, de az eszköz nem tudott többé hozzáférni a normál Android-beállítások felületéhez.

Ez egy gyakori kihívást jelentett a kioszküzemeltetés során: ha egyszer korlátozták a rendszer navigációs és eszközkezelési vezérlőit, akkor hogyan lehet az eszközt helyreállítani további tesztelés céljából? És ha az alkalmazásnak meg kell nyitnia a Wi-Fi-t vagy más rendszerműködéseket, akkor mely Android-intentek használhatók még?

A megrendelő először ADB-parancsokkal módosította a rendszerfelhasználói felület viselkedését:

adb shell settings put system hide_navbar 1

adb shell settings put system statusbar_disp 1

adb shell settings put system swipe_show_nav_bar 0

adb shell settings put system power_button_show 0

Az alkalmazást ezután alapértelmezett kezdőképernyőként állították be, majd az alkalmazást „Device Owner”-ként konfigurálták. Device Owner a szükséges eszközkezelési funkciók engedélyezéséhez.

Újraindítás után a Android kiosk tablet automatikusan elindította az alkalmazást, ahogy várták. Azonban az ügyfél többé nem tudott kilépni az alkalmazás főképernyőjéről az Android-beállításokhoz vagy más rendszerfunkciókhoz. Az alkalmazásba beépített Beállítások és Wi-Fi gombok szintén megszűntek a megfelelő rendszeroldalak megnyitására.

A legfontosabb kérdés nem csupán az volt, hogyan lehet kilépni az alkalmazásból. Az ügyfélnek megbízható módszert kellett találnia a Android tablet visszaállításához további tesztelés céljából, valamint meg akarta érteni, mely rendszer-Intents-eket használhatja az alkalmazása.

Miért vált nehezen elérhetővé az Android-tablet

A problémát több rétegű eszközvezérlés egyidejű alkalmazása okozta.

Az egyéni indítóprogram határozta meg, melyik alkalmazás jelenik meg a Kezdőképernyőként, miközben a Eszköz tulajdonosa szélesebb körű vezérlést biztosított az eszköz házirendje felett. Android különleges eszközökre szolgáló dokumentációja támogatja ezt a konfigurációt kioszk- és felügyelt eszközök telepítéséhez, beleértve a alapértelmezett Kezdőalkalmazás vezérlését és a rendszerfunkciókhoz való hozzáférés korlátozását.

Az ADB-parancsok további réteget adtak hozzá a rendszerfelhasználói felület viselkedésének módosításával. Ezek a beállítások eszköz- vagy firmware-függőek, nem univerzális Android API-k, ezért pontos hatásuk attól függ, hogyan valósítja meg őket a tablet firmware-e.

Ez azt jelenti, hogy egy Kioszk eszközként használt Android tablet nehézzé válhat a helyreállítása, ha az indítóprogram, az Eszköz tulajdonosa konfigurációja, a rendszerfelhasználói felület korlátozásai és az alkalmazásnavigáció egyszerre módosul.

Annak a ténye, hogy az alkalmazás Beállítások vagy Wi-Fi gombja már nem működik, nem feltétlenül jelenti, hogy maga az Intent helytelen. A célzott Beállítások tevékenység (Settings Activity) elérhetetlen, korlátozott vagy egyéb okból nem hozzáférhető az aktuális eszközkonfigurációban. Az Android azt is ajánlja, hogy ellenőrizzük, feloldható-e egy Intent, mielőtt megpróbálnánk elindítani.

2开发场景图.png

Helyreállítási útvonalak zárolt Android kiosk tablet esetén

Ha az alkalmazás már eszköz-tulajdonosként (Device Owner) van konfigurálva, akkor először a szoftveres helyreállítást érdemes megfontolni.

Android DevicePolicyManager eszközkezelési funkciókat biztosít, amelyeket az eszköz-tulajdonos (Device Owner) használhat. Az Android verziójától és az alkalmazás konfigurációjától függően egy eszköz-tulajdonos alkalmazás a megfelelő eszköz-törlési mechanizmust használhatja, hogy a tabletet tesztelés céljából tiszta állapotba hozza. wipeData() a megszokott API a felhasználói adatok törlésére, míg újabb Android-verziók további eszköz-törlési funkciókat is biztosítanak.

A már elavult clearDeviceOwnerApp() ezt a módszert nem szabad általános gyári visszaállítási eljárásnak tekinteni. Az Android dokumentációja tesztelésre optimalizált API-ként tünteti fel, és a gyári beállítások visszaállítását ajánlja a Device Owner kapcsolat normál eltávolítására.

Az ADB továbbá eszközszabályozási parancsokat is biztosít, de ezek korlátozásokkal járnak. Például: adb shell dpm remove-active-admin nem univerzális módszer Device Owner eltávolítására; az Android ADB dokumentációja olyan követelményeket ír elő, mint az alkalmazás testOnly deklarációja.

Ha a szoftveres helyreállítás nem érhető el, mert az alkalmazás nem tudja végrehajtani a szükséges műveletet, akkor a maradék lehetőség egy hardveres gyári visszaállítás vagy az Android Recovery eljárás .

3流程图.png

A pontos gombkombinációt nem szabad más Android-tablet modellből feltételezni. A Recovery viselkedést az adott tablet firmware-je és hardvermegvalósítása határozza meg. Egy testreszabott Android-tablet projekt esetében ezért a megfelelő Recovery eljárást a tényleges modellhez és firmware-hez kell megerősíteni a telepítés előtt.

Ehhez a típushoz Android kiosk tablet , mivel a helyreállítási módszer meghatározása különösen hasznos az integrációs tesztelés során, mert a rendszerszintű konfiguráció szándékosan eltávolíthatja a normál felhasználói navigációt.

Beállítások céljainak és rendszerfunkciók tesztelése Android-tableten

A vevő második kérdése az volt, hogy az alkalmazás közvetlenül elindíthatja-e a rendszerfunkciókat, például a Beállításokat és a Wi-Fi-t.

Android szabványos Beállítások-műveleteket biztosít ezekhez a funkciókhoz. Például:

Funkció

Szabványos Android Cél

Fő beállítások

Settings.ACTION_SETTINGS

Wi-Fi-beállítások

Settings.ACTION_WIFI_SETTINGS

Vezeték nélküli beállítások

Beállítások.ACTION_WIRELESS_SETTINGS

Bluetooth-beállítások

Beállítások.ACTION_BLUETOOTH_SETTINGS

Kijelző beállításai

Beállítások.ACTION_DISPLAY_SETTINGS

Helymeghatározási beállítások

Beállítások.ACTION_LOCATION_SOURCE_SETTINGS

Hangbeállítások

Beállítások.ACTION_SOUND_SETTINGS

Biztonsági beállítások

Beállítások.ACTION_SECURITY_SETTINGS

Alkalmazásbeállítások

Beállítások.ACTION_APPLICATION_SETTINGS

Adott alkalmazás beállításai

Beállítások.ACTION_APPLICATION_DETAILS_SETTINGS

 

Ezek szabványos Android-beállítás-műveletek, nem pedig egy adott Android-tablet-gyártóra jellemző felületek . Azonban egy Intent létezése nem garantálja, hogy minden eszközön vagy minden kiosk-konfiguráción sikeresen megnyílik. Az Android azt javasolja, hogy az indítás előtt ellenőrizze az Inten-t a következővel: resolveActivity() .

Egy rendszerbe integrált Android-tablet esetében az Intent-tesztelést tehát a telepítéshez használt tényleges firmware-en és Android-verzióval kell elvégezni. A tesztnek nemcsak azt kell ellenőriznie, hogy az Intent létezik-e, hanem azt is, hogy a megfelelő Activity elérhető-e a Device Owner, az indítóprogram és a rendszerfelhasználói felület korlátozásainak alkalmazása után.

4流程图(1).png

Ha Android-kioszktablettán vagy rendszerintegrációs projekten dolgozik, és segítségre van szüksége az eszköz-tulajdonos (Device Owner) helyreállításához, a Beállítások (Settings) Intents-ekhez vagy kapcsolódó konfigurációs problémákhoz, kérjük, lépjen velünk kapcsolatba tabletmodelljének és Android-verziójának megadásával. Megbeszélhetjük az elérhető műszaki támogatási és testreszabási lehetőségeket.

 

Ugyanez az elv érvényes más rendszerfunkciókra is. Egy szabványos Android API létezhet, de egy testreszabott tablet tényleges viselkedése függ az Android-verziótól, a firmware-konfigurációtól és az eszközkezelési szabályzatoktól.

Mi a helyzet az ébresztési kérésekkel (wake requests)?

Az ügyfél kérdése az „ébresztési kérésekről” kissé eltér attól, hogy egy Beállítások (Settings) oldalt indítunk el.

Intent.ACTION_SCREEN_ON egy rendszer-szórás (system broadcast), amely azt jelzi, hogy a képernyő interaktívvá vált. Ez egy védett rendszer-szórás, ezért az alkalmazás nem kezelheti úgy, mint egy egyszerű Intent-et, amelyet közvetlenül elküldhetne a tablet ébresztésére.

Ha az igény az, hogy ébressze fel a képernyőt, fenntartsa az ébrenléti állapotot, vagy szabályozza a képernyő bekapcsolásának viselkedését , az alkalmas mechanizmus a pontos alkalmazási igényektől függ. Az Android ezen forgatókönyvekhez energia-kezelési és ablak/tevékenység API-kat biztosít, többek között PowerManager és ébrentartási (wake-lock) funkciókat, amikor azok megfelelőek.

Ez a különbség fontos az Android kiosk tablet . „Rendszerfunkció indítása” és „az eszköz energiaállapotának vezérlése” különböző rendszerműveletek, és különböző API-kon keresztül kell kezelni őket.

5具体场景ui图.png

Műszaki támogatás az Android-tablet integrációjához

Ez az eset azt is bemutatja, miért lehet egy kioszk telepítéshez több is szükséges az alap Android-tablet hardverkonfigurációnál.

Amikor egy tabletet egy dedikált alkalmazásba, POS-rendszerbe, kioszkba, ipari rendszerbe vagy más felügyelt eszközbe integrálnak, a szoftverkonfiguráció egyszerre érintheti a launcher-t, a Device Owner beállítást, a rendszerfelhasználói felületet, az alkalmazásengedélyeket, a Beállítások indítóparancsait (Settings Intents) és a helyreállítási viselkedést.

Olyan projekteknél, amelyekhez testreszabott Android-tablet konfigurációk esetében ezeket a követelményeket együtt kell értékelni a hardverrel és az Android-rendszer konfigurációjával, nem pedig különálló problémaként kezelni a végleges tesztelés során.

A megfelelő megoldás az Android-verziótól, a tablet firmware-jétől, az alkalmazás konfigurációjától és attól függ, hogy mely funkciókat kell a rendszerintegrátornak vezérelnie. A rendelkezésre álló rendszerfelületek, támogatott Intents-ek, engedélyek és eszközspecifikus korlátozások alapján technikai dokumentáció is készíthető.

Ha egy Android tablet kioszk telepítéshez vagy rendszerintegrációhoz tesztel egy Device Owner funkciót, egyedi indítóprogramokat, kioszk üzemmódot, Settings Intents-eket, rendszerfelület-korlátozásokat vagy eszköz-helyreállítást , kérem lépjen kapcsolatba velünk műszaki támogatásért .

Megadhatja a tablet modelljét, az Android-verziót, a telepítési konfigurációt és azt a konkrét funkciót, amelyet meg szeretne valósítani. Ezután megbeszélhetjük a rendelkezésre álló Android tablet testreszabási és műszaki támogatási lehetőségeket lehetőségekről projekthez.