Intento personalizzato Android

Utilizzate la funzionalità di intento personalizzato di Android per preconfigurare le impostazioni e creare flussi di lavoro personalizzati per aprire solo parti specifiche dell'app Impostazioni su un dispositivo Android in modalità Kiosk.

L'utilizzo della modalità kiosk sui dispositivi Android è in aumento. Questi dispositivi in modalità kiosk sono in uno stato di blocco in cui gli utenti non hanno accesso a impostazioni come biometrica, password, NFC, e così via, che sono richieste per il lavoro quotidiano. La funzionalità di intento personalizzato di Android fornisce flessibilità per controllare le impostazioni esposte agli utenti. Ad esempio, aprendo la schermata di registrazione biometrica dal dispositivo senza aggiungere l'app Impostazioni a un elenco di consenti nella politica di modalità a schermo intero COSU.

Configurazione dell'intento personalizzato Android

  1. Dalla pagina IBM® MaaS360® Portal Home, fare clic su Security > Policies.
  2. Selezionare una politica Android MDM Polciy .
  3. Vai a Configura le impostazioni > Impostazioni Android Enterprise > COSU (modalità a schermo intero) e fai clic su Abilita modalità a schermo intero.
  4. Espandere la sezione Impostazioni dispositivo a schermo intero e configurare quanto segue:
    Impostazione politica Descrizione Dispositivi supportati
    Aggiungi elemento di avvio personalizzato

    Se questa impostazione è attivata, puoi aggiungere l'avvio personalizzato utilizzando la funzionalità di intento personalizzato Android. Puoi aggiungere le impostazioni o le applicazioni utilizzando il codice JSON su un dispositivo Android in modalità kiosk. Per ulteriori informazioni sul formato del codice JSON, vedi Formato del codice JSON.

    Importante:
    • L'attivazione di questa impostazione potrebbe aiutare gli utenti ad accedere ad altre sezioni pertinenti relative a questa impostazione sul dispositivo.
    • Questa funzione è applicabile per i dispositivi con app Android versione 8.60 o successiva.

    È possibile aggiungere più elementi di avvio personalizzati, ciascuno contenente le seguenti impostazioni:

    • Posizione elemento sul dispositivo: in base all'ubicazione elemento selezionata, la voce di avvio personalizzata viene visualizzata nella sezione Impostazioni dispositivo o Altri collegamenti nell'elenco di menu sul dispositivo.
    • Nome elemento: è possibile aggiungere un nome elemento di avvio personalizzato in più locale. Il nome dell'elemento verrà mostrato sul dispositivo con la locale pertinente impostata per l'app Kiosk.

      È possibile immettere la coppia chiave - valore in cui la chiave rappresenta la locale per la visualizzazione del nome della voce e il valore rappresenta il nome della voce.

    • Descrizione elemento: è possibile aggiungere una descrizione pertinente per un elemento di avvio personalizzato in più locale.

      È possibile immettere la coppia chiave - valore in cui la chiave rappresenta la locale per la visualizzazione della descrizione della voce e il valore rappresenta la descrizione della voce.

    • Intento personalizzato: per definire un intento personalizzato Android, devi fornire il codice JSON che specifica i valori della politica necessari. Per ulteriori informazioni, consulta Esempi per la definizione dell'intento personalizzato Android.
    Android 8.60 + DO

Formato codice JSON

Le seguenti tabelle forniscono il formato del codice JSON di esempio per i campi di livello superiore e i campi supplementari:

Campi di livello superiore
Nome campo Immettere Esempi Descrizione

azione

Stringa

"action": "android.intent.action.VIEW"
"action": "android.intent.action.EDIT"

L'azione generale da eseguire. Ad esempio, ACTION_VIEW, ACTION_EDIT, ACTION_MAINe così via.

dati

Stringa

"data": "https://www.company.com#data"

I dati su cui operare. Ad esempio, il record di una persona nel database dei contatti, espresso come Uri.

packageName

Stringa

"packageName": "com.mycompany.myapp"

Limita l'azione per aprire solo un pacchetto specifico.

categorie

Stringa

Array

"categories": [
    "android.intent.category.LAUNCHER",
    "android.intent.category.BROWSABLE"
]
Ulteriori informazioni sull'azione da eseguire. Ad esempio:
  • CATEGORY_LAUNCHER indica un'attività che deve essere visualizzata nell'app Kiosk Launcher sul dispositivo come applicazione di livello superiore.
  • CATEGORY_ALTERNATIVE indica un'attività che deve essere inclusa in un elenco di azioni alternative che l'utente può eseguire sui dati.

tipo

Stringa

"type": "text/xml"

Specifica un tipo MIME esplicito per i dati di intento. Il tipo viene dedotto dai dati stessi. Impostando questo attributo, si disabilita tale valutazione e si applica l'uso di un tipo esplicito.

componente

Oggetto

"component": {
    "packageName": "com.mycompany.myapp",
    "className": "com.mycompany.myapp.ui.MyActivity"
}

Specifica un nome esplicito di una classe componente da utilizzare per l'intento. Il componente viene determinato dalle altre informazioni nell'intento, come l'azione, i dati o il tipo e le categorie, associandolo a un componente adatto. Se questo attributo è impostato, non viene effettuata alcuna valutazione e questo componente specificato viene utilizzato direttamente. Specificando questo attributo, tutti gli altri campi diventano facoltativi.

  • packageName: indica il nome del package del componente. Tipo: stringa
  • className: indica il nome classe del componente. Tipo: stringa

contrassegni

Array di numeri interi

"flags": [2, 4, 8, 32]

Ulteriori indicatori che potrebbero modificare il funzionamento. Per un elenco di indicatori, consultare https://developer.android.com/reference/android/content/Intent.

extra

Array oggetto

"extras": [
 {
   "type": "string",
   "name": "com.mycompany.myapp.SOME_STRING_EXTRA",
    "value": "Some Value Here"
 },
 {
   "type": "integerArray",
   "name": "com.mycompany.myapp.SOME_INT_ARRAY_EXTRA",
   "value": [2, 3, 4]
 },
 {
   "type": "bundle",
   "name": "com.mycompany.myapp.SOME_BUNDLE_EXTRA",
   "value": [
     {
        "type": "string", 
        "name": "SomeBundleString", 
        "value": "Some Value Here"
     },
     {
        "type": "byteArray", 
        "name": "SomeBundleByteArray", 
        "value": [5, 6, 7]
     }
   ]
 }
]

Aggiunge ulteriori informazioni che possono essere trasmesse nell'intento. Per ulteriori informazioni sui campi aggiuntivi, vedere Campi aggiuntivi.

Campi aggiuntivi
Nome campo Immettere Esempi Descrizione

tipo

Stringa

"type": "string"
"type": "integerArray"
"type": "bundle"

Il tipo di informazioni aggiuntive sono:

  • Tipi di base

    Sono supportati i seguenti tipi di dati:

    • booleano: Il valore delle informazioni supplementari deve essere una stringa true o false.
    • char: il valore delle informazioni aggiuntive deve essere una stringa con un solo carattere.
    • string: il valore delle informazioni aggiuntive deve essere una stringa e può essere di qualsiasi lunghezza.
    • byte: il valore delle informazioni aggiuntive deve essere un numero intero compreso tra -128 e 127.
    • integer: Il valore delle informazioni aggiuntive deve essere un intero compreso tra -2147483648 e 2147483647.
    • short: il valore delle informazioni aggiuntive deve essere un valore intero compreso tra -32768 e 32767.
    • long: Il valore delle informazioni aggiuntive deve essere un numero intero compreso tra -9223372036854775808 e 9223372036854775807.
    • float: Il valore delle informazioni supplementari deve essere un numero decimale.
    • double: Il valore delle informazioni aggiuntive deve essere un numero decimale. Questo tipo ha una precisione superiore rispetto al float.
  • Tipi di array

    Questo tipo ha le stesse definizioni del Tipo base, ma viene aggiunto con la sintassi della schiera tra parentesi quadre. I tipi supportati sono:

    • booleanArray
    • stringArray
    • charArray
    • byteArray
    • integerArray
    • shortArray
    • longArray
    • floatArray
    • doubleArray
  • Tipi ArrayList

    Alcune applicazioni supportano anche la ricezione di dati in tipi ArrayList . Questo tipo ha la stessa definizione e sintassi dei tipi Array. Sono supportati i seguenti tipi:

    • integerArrayList
    • stringArrayList
  • Tipo di bundle

    Per creare ulteriori informazioni nidificate, utilizzare il tipo di bundle. Il valore deve essere un array di informazioni aggiuntive.

    Ad esempio:

    {
       "type": "bundle",
       "name": "com.mycompany.myapp.SOME_BUNDLE_EXTRA",
       "value": [
         {
            "type": "string", 
            "name": "SomeBundleString", 
            "value": "Some Value Here"
         },
         {
            "type": "byteArray", 
            "name": "SomeBundleByteArray", 
            "value": [5, 6, 7]
         }
       ]
     }

Nome

Stringa

"name": "com.mycompany.myapp.SOME_STRING_EXTRA"
"name": "com.mycompany.myapp.SOME_INT_ARRAY_EXTRA"

Il nome delle informazioni aggiuntive.

valore

Dipende dal tipo

"value": "Some Value Here"
"value": [5, 6, 7]
"value": 3.534
"value": null

Il valore delle informazioni aggiuntive. I valori possono essere aggiunti in base al tipo.

Nota: in tutti casi, il valore può essere specificato come null. In questo caso, viene passato un valore null all'applicazione di destinazione.
Esempio di definizione del codice JSON
{
  "action": "android.intent.action.VIEW",
  "data": "https://www.company.com#data",
  "packageName": "com.mycompany.myapp",
  "categories": [
    "android.intent.category.LAUNCHER",
    "android.intent.category.BROWSABLE"
  ],
  "type": "text/xml",
  "component": {
    "packageName": "com.mycompany.myapp",
    "className": "com.mycompany.myapp.ui.MyActivity"
  },
  "flags": [2, 4, 8, 32],
  "extras": [
    {
      "type": "string",
      "name": "com.mycompany.myapp.SOME_STRING_EXTRA",
      "value": "Some Value Here"
    },
    {
      "type": "integerArray",
      "name": "com.mycompany.myapp.SOME_INT_ARRAY_EXTRA",
      "value": [2, 3, 4]
    },
    {
      "type": "bundle",
      "name": "com.mycompany.myapp.SOME_BUNDLE_EXTRA",
      "value": [
        {
           "type": "string", 
           "name": "SomeBundleString", 
           "value": "Some Value Here"
        },
        {
           "type": "byteArray", 
           "name": "SomeBundleByteArray", 
           "value": [5, 6, 7]
        }
      ]
    }
  ]
}

Esempi per la definizione dell'intento personalizzato Android

La seguente tabella fornisce esempi per i valori della politica che è possibile configurare per creare l'intento personalizzato Android per vari scenari comuni.

Per ulteriori informazioni sulle impostazioni dell'azione di intento fornite da Google Android, consulta https://developer.android.com/reference/android/provider/Settings.

Scenario comune Ubicazione elemento sul dispositivo Nome elemento Descrizione articolo Intento personalizzato (JSON)

Aprire la schermata Impostazioni audio sul dispositivo. Per ulteriori informazioni, vedere Scenario comune 1.

Impostazioni

Impostazioni audio

Fare clic qui per visualizzare le impostazioni audio del dispositivo.

{
"action": "android.settings.SOUND_SETTINGS"
}

Aprire qualsiasi schermata di impostazioni sul dispositivo. Ad esempio, la schermata Impostazioni utilizzo dati.

Impostazioni

Impostazioni utilizzo dati

Fare clic qui per visualizzare le impostazioni di utilizzo dei dati del dispositivo.

{
"action": "android.settings.DATA_USAGE_SETTINGS"
}

Aprire un'app sul dispositivo. Ad esempio, Google Chrome.

Apre l'app specificata nel nome del pacchetto, proprio come toccare l'icona dell'applicazione sulla schermata iniziale del dispositivo.

Altri collegamenti

Apri Google Chrome

Fare clic qui per aprire l'app Google Chrome .

{
  "action": "android.intent.action.MAIN",
  "packageName": "com.android.chrome",
  "categories": [
     "android.intent.category.LAUNCHER"
   ]
}

Visualizzare un sito Web sullo schermo del dispositivo. Per esempio, Wikipedia.

Apre il browser web per avviare l' URL specificato. La categoria viene aggiunta per garantire che solo i browser Web vengano considerati per l'apertura.

Altri collegamenti

Apri Wikipedia

Fare clic qui per aprire il sito Web di Wikipedia nel browser predefinito.

{
  "action": "android.intent.action.VIEW",
  "data": "https://www.wikipedia.org",
  "categories": [
     "android.intent.category.BROWSABLE"
  ]
}

Visualizzare un sito Web sulla schermata del dispositivo utilizzando un browser specifico. Ad esempio, visualizzare Google su Mozilla Firefox.

Apre Firefox per visualizzare l' URL specificato.

Altri collegamenti

Aprire il sito Web in Firefox

Fare clic qui per aprire il sito web specificato nel browser Firefox .

{
  "action": "android.intent.action.VIEW",
  "data": "https://www.google.com",
  "packageName": "org.mozilla.firefox"
}

Comporre un numero sullo schermo del dispositivo. Ad esempio, aprire il dialer del ricevitore sullo schermo del dispositivo con il numero 911 immesso, quindi l'utente preme il pulsante Dial.

Altri collegamenti

Contatto di emergenza

Fare clic qui per chiamare il numero di emergenza.

{
  "action": "android.intent.action.DIAL",
  "data": "tel:911"
}

Inviare un'e-mail utilizzando MaaS360 Mail. Ad esempio, apre un compositore di posta MaaS360 con l'oggetto e il corpo del messaggio già compilati.

Altri collegamenti

Comporre messaggi di posta elettronica utilizzando IBM MaaS360 Mail

Fare clic qui per comporre la posta utilizzando IBM MaaS360 Mail.

{
  "action": "android.intent.action.SENDTO",
  "packageName": "com.fiberlink.maas360.android.pim",
  "data": "mailto:abc@company.com",
  "extras": [
     {
        "type": "string",
        "name": "android.intent.extra.SUBJECT",
        "value": "Email Subject Goes Here"
     },
     {
        "type": "string",
        "name": "android.intent.extra.TEXT",
        "value": "Email Body Goes Here"
     }
  ]
}

Invia un'e-mail utilizzando Gmail. Ad esempio, apre un composer Gmail con l'oggetto e il corpo della posta già completati.

Altri collegamenti

Componi posta utilizzando Gmail

Fare clic qui per comporre la posta sull'app Gmail.

{
  "action": "android.intent.action.SENDTO",
  "packageName": "com.google.android.gm",
  "data": "mailto:abc@company.com?subject=The%20subject%20of%20the%20mail&body=The%20body%20of%20the%20email"
}

Visualizza l'elenco dei contatti sullo schermo del dispositivo. Ad esempio, visualizzare l'elenco di contatti del dispositivo. In genere apre l'app Contatti del dispositivo.

Altri collegamenti

Apri i contatti

Fare clic qui per aprire l'app Contatti.

{
  "action": "android.intent.action.VIEW",
  "data": "content://contacts/people/"
}
Scenario comune 1:

Creazione dell'intento personalizzato per le impostazioni audio nel portale MaaS360

Nel portale IBM MaaS360, configurare i seguenti valori di criterio per aprire la schermata Impostazioni audio sullo schermo del dispositivo.

Impostazione politica Valore Descrizione
Aggiungi elemento di avvio personalizzato
  • Ubicazione elemento sul dispositivo: impostazioni
  • Nome elemento: impostazioni audio
  • Descrizione della voce: fare clic qui per visualizzare le impostazioni audio del dispositivo
  • Intento personalizzato:
    {
    "action": "android.settings.SOUND_SETTINGS"
    }
Aprire la schermata Impostazioni audio sul dispositivo.

Apertura delle impostazioni audio sul dispositivo Android in modalità schermo intero

  1. Fare clic su Impostazioni sul dispositivo Android.
  2. Fare clic su Impostazioni dispositivo nell'elenco Menu .
    menu impostazioni nel dispositivo Android in modalità kiosk

    Secondo l'intento personalizzato configurato, la voce di avvio personalizzata Impostazioni audio viene visualizzata nella sezione Impostazioni dispositivo dell'elenco di menu.

    impostazioni audio nel dispositivo Android in modalità kiosk
  3. Fare clic su Impostazioni audio.

    Si viene reindirizzati alla sezione Impostazioni audio del dispositivo Android.