Android fullscreen (kiosk mode)
2015-10-02T08:41:15+02:00
2015-10-02T12:25:45+02:00
2022-08-18T09:15:34+02:00
Roly_19
Sziasztok!

Több óra googlezás után sem találok valódi megoldást a problémára.
A feladat: Kiosk módban, teljes képernyőn futtatni egy alkalmazást egy Lenovo tableten (szoftveres gombok vannak rajta, android 4.4).
Eddigi eredmények:
- A vissza-gomb inaktiválva lett.
- Az app teljes képernyőn fut, azonnal elindul oprendszerrel együtt, stb.
- Gyári billentyűzetnél felugrik a navigation bar. Ezt orvosoltam saját billentyűzettel, így ez sem probléma.
- Alerdialog-ot lecseréltem saját layerre az aktuális layouton belül, így eközben sem jön fel a navigation bar.
- A home gombra is tettem eseményt, hogy a saját alkalazást próbálja indítani (mint ahogy ez az app csinálja: Baby Toy with Lock – Android-alkalmazások a Google Playen )

Ami a legfőbb gond: swipe a kijelző aljától felfelé vagy a tetejétől lefelé. Ilyenkor fixen bejön a status bar és a navigation bar. Ilyenkor még egy swipe fentről lefelé és máris ott a beállítások menü. Vagy épp a navigation baron az ablakváltásra kattintás és máris lehet váltani alkalmazások közül. App Lock fent van, így gyakorlatilag semmi másra nem jó a tablet, viszont zavaró hogy az app elhagyható.

Amit mindenhol javasolnak, az csak tüneti kezelés és swipe-ra nem jó:

content.setSystemUiVisibility( View.SYSTEM_UI_FLAG_IMMERSIVE | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION );
Kérdésem, hogy a swipe letiltható-e?
Mutasd a teljes hozzászólást!

  • Szerintem a SYSTEM_UI_FLAG_IMMERSIVE_STICKY pont azt teszi, hogy nem jön elő interakcióra sem a menu.De javítsatok ki ha tévedek, nem ma használtam :)
    Esetleg egy ilyen a manifestbe?

    <activity android:name=".MainActivity" ... android:launchMode="singleInstance" android:stateNotNeeded="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
    Mutasd a teljes hozzászólást!
  • Ezt már próbáltam, és előjön sajnos akkor is. Nem tudom, hogy a Lenovo saját laucher-e miatt vagy amúgy is elő kéne jönnie.
    Abból próbálok kiindulni, hogy sok baby-app van playen, ahol ugye gondot okoz, ha a gyerek rábök a vissza/kezdőoldal/ablakváltás gombokra, tapasztalat. :) Viszont ha köztük némelyiknek sikerült ezt a swipe-tiltást beépíteni, akkor úgy gondolom van rá lehetőség root nélkül bármelyik alkalmazásba.
    Mutasd a teljes hozzászólást!
abcd