Le app a tutto schermo in stile chiosco sono possibili su telefoni iOS, Android o Windows?

4

Una popolare compagnia di assicurazioni auto negli Stati Uniti ha un'app che mostra "auto digitale" assicurazione ". Nelle pubblicità, queste app vengono aperte e l'utente consegna il telefono sbloccato agli agenti di polizia. Non è irragionevole immaginare cosa potrebbe accadere in queste situazioni quando qualcuno ha accesso illimitato a un telefono.

Idealmente se un'app simile a questo fosse in uso diffuso, vorrei che impedisse il passaggio a un'altra app (e-mail, contatti, SMS, ecc.) finché non fosse stata inserita una password.

Altri scenari in cui questo è utile sono ID card, versioni modali di app (giochi) popolari, un genitore che vuole controllare quali app usano i propri figli, telefoni dimostrativi a una fiera, ecc.

Domanda

  • Qualunque telefono cellulare (iOS, Android o Windows) può supportare un'app con il controllo a "schermo intero" e non uscire finché non viene immessa una password?

  • Se una soluzione del genere è possibile, è sicuro? (I dati locali sono ancora crittografati?)

(Suppongo che Android e Blackberry 10 siano uguali poiché entrambi possono eseguire app simili)

    
posta random65537 02.09.2013 - 06:02
fonte

4 risposte

7

So che esiste un ottimo esempio e una discussione su questo argomento per dispositivi Samsung e Android, quindi potresti voler iniziare da lì e vedere se ti porta dove vuoi andare con tutto il resto.

link

Removing the title bar and status bar ... you may want to ... remove the app title bar and the system status bar, which will make an app full-screen. Please note that some devices (like the Galaxy Nexus or Galaxy Tab tablets) have another bar with buttons which are represented by hardware buttons in other devices. That bar cannot be covered by any app. In order to remove those bars, use the code below before calling the setContentView method in your Activity. It will request the extended feature (to remove the title bar) and set the proper flag to the window (to cover the status bar).

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

Prevent exiting the app via the back button Since the kiosk app shouldn’t be closed, you can handle pushing the back button and assign another action to it. For instance, you may want to go to the homepage when user tries to exit the app. To do so, override one of the Activity methods, which is called every time the back button is pressed. [or set this to null or refresh to keep it on the same display]

@Override
        public void onBackPressed() {
        mWebView.loadUrl(mHomepageUrl);
    }

Disable the home button In general, disabling the home button is not a good practice, but it can be very useful when developing a kiosk app. Since Android 4.0 there is no effective method to do so, so you may need to use another solution, e.g. setting your app as a home screen, which is described further. However, for older OS versions you may switch the window type to keyguard, which will prevent from handling home button pressing.

@Override
        public void onAttachedToWindow() {
        getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
        super.onAttachedToWindow();
    }

Set an app to cover the lock screen If you want your app to be visible all the time, setting it to be on top of the lock screen may be useful. This is quite simple to achieve, you only need to set few additional flags for your Activity window.

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);

(frammenti degli elementi più utili del documento relativi a un'app kiosk)

    
risposta data 02.09.2013 - 10:33
fonte
5

Questa soluzione è facilmente gestibile in iOS, se usi Apple Configurator , che consente a un dispositivo di essere schierato in quella che chiamano modalità "sorvegliata". In questa modalità puoi impostare una singola applicazione per il dispositivo da utilizzare.

In questo caso il dispositivo caricherà automaticamente l'applicazione all'avvio e non consentirà a un utente di uscire con mezzi normali.

È progettato, credo, per la vendita al dettaglio e l'istruzione in cui l'iPad è in realtà solo inteso come un'appliance che esegue un'unica app.

Il configuratore Apple presenta alcuni problemi di ridimensionamento (richiede la connessione USB a un Mac da configurare), ma può essere utilizzato insieme al software MDM (ad esempio Airwatch) per risolvere alcuni di questi problemi.

In termini di Android, non ho visto alcuna funzionalità ampiamente supportata per svolgere un'attività simile, anche se potrebbero esserci opzioni programmatiche come sottolinea @gardian. Quello che potresti fare se hai una soluzione MDM è bloccare il dispositivo solo in un paio di applicazioni. Una cosa da tenere a mente in questa arena è che Android MDM può essere specifico per produttori e telefoni specifici. L'API Android MDM di base è piuttosto semplice, ma Samsung ad esempio ha il suo programma SAFE che aggiunge un carico di opzioni di blocco aggiuntive.

    
risposta data 02.09.2013 - 10:51
fonte
1

Su iOS puoi ottenerlo utilizzando Accesso guidato:

Impostazioni - > Generale - > Accessibilità - > Accesso guidato - > Su,

Avvia l'app in cui desideri bloccare l'iPhone / iPad, fai clic sul pulsante Home triplo e segui le istruzioni sullo schermo.

    
risposta data 01.06.2015 - 16:01
fonte
0

Sebbene l'uso di Accesso guidato e Apple Configurator siano entrambe soluzioni valide, rimuovere la barra di stato è semplice su iOS. Utilizza questa chiamata di metodo nell'inizializzazione della tua app per nasconderlo.

Objective-C:

[[UIApplication sharedApplication] setStatusBarHidden:YES
                                   withAnimation:UIStatusBarAnimationSlide];

Swift:

UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
    
risposta data 29.07.2015 - 05:22
fonte

Leggi altre domande sui tag