Sintesi
RealWear Navigator 520 non richiede, in fase di sviluppo, un SDK vocale separato per l'interazione vocale di base. WearHF fa parte del software del dispositivo: è in grado di analizzare una schermata Android, individuare le view interattive supportate ed esporre comandi vocali per ciascuna di esse. Un pulsante Android standard con l'etichetta CONTINUE può quindi essere attivato pronunciando “CONTINUE”, senza importare alcuna libreria RealWear.
Parti da un'app Android standard e testala sul firmware Navigator di destinazione. WearHF può riconoscere i controlli a schermo supportati senza codice vocale lato app. Aggiungi una direttiva di view in android:contentDescription quando un controllo richiede frasi alternative o un comportamento particolare. Usa OVERRIDE_COMMANDS solo quando l'app deve assumere il controllo del riconoscitore e gestire autonomamente i comandi. Questi percorsi hanno effetti diversi, descritti di seguito.
Importante: “nessun SDK” non significa “nessun codice”. Devi comunque sviluppare l'interfaccia Android e la logica di business. L'app non ha bisogno di un SDK vocale RealWear separato per il controllo vocale di base, perché è WearHF a fornire questa funzionalità a livello di dispositivo.
Concetto chiave: per il controllo vocale di base non devi aprire WearHF, installare WearHF né importare un SDK WearHF. WearHF viene eseguito in background come parte del sistema operativo RealWear.
Che cos'è RealWear Navigator 520?
Il RealWear Navigator 520 è un computer monoculare robusto per la realtà assistita, progettato per le attività operative sul campo come manutenzione, ispezione e assistenza tecnica. Il firmware 2.x di RealWear per Navigator 500/520 è basato su Android 13, mentre la release di manutenzione Ari OS 2.0 del 17-09-2026 (firmware 3.0, build 3.0.3-15, proposta ai dispositivi con build 2.2.3-33) porta il dispositivo ad Android 16. Le roadmap del firmware possono cambiare, quindi considera il sistema operativo del dispositivo come un vincolo di deployment: registra nella tua matrice di rilascio la build del firmware testata, il livello di API Android, i valori minSdk/targetSdk dell'app e il modello del dispositivo. Non dedurre minSdk o targetSdk unicamente dalla versione Android del visore.
Per gli sviluppatori, questo significa creare e pacchettizzare una normale app Android. WearHF viene eseguito sul dispositivo e può rendere controllabili con la voce i controlli supportati; non implementa il tuo flusso di lavoro, non autorizza un'azione di business e non sostituisce la convalida lato app.
Che cos'è WearHF?
WearHF è il servizio integrato di RealWear per il riconoscimento vocale e l'interazione a mani libere. Interpreta le view Android supportate e le direttive a schermo, quindi attiva una view o invia un evento vocale in base all'integrazione scelta. L'interazione di base con le view non richiede alcuna libreria vocale RealWear separata. Le direttive incorporate vengono lette da android:contentDescription; i comandi programmatici usano gli intent broadcast Android documentati. Non confondere il clic su una view con un override del riconoscitore: un override assume il controllo del riconoscitore e può sopprimere i comandi incorporati/da script finché non viene ripristinato lo stato precedente.
Cosa ti serve prima di sviluppare la prima app
· Un Navigator 520 con la build del firmware che intendi supportare; annota la build esatta e la versione di Android.
· Un computer Windows, macOS o Linux.
· Android Studio con l'Android SDK e i Platform Tools (ADB). Usa il livello di API Android richiesto dalla tua app ed esegui la convalida sul firmware supportato da RealWear.
· Un cavo dati USB-C.
· Nessun SDK RealWear per la prima app.
· Un flusso di lavoro aziendale da testare, ad esempio il passaggio alla fase successiva di un'ispezione o la segnalazione di un problema a un'apparecchiatura.
Come creare un'app Android a comando vocale senza un SDK RealWear
Passaggio 1: crea un normale progetto Android
Per questa guida, parti da un progetto Android basato su Views. In Android Studio scegli un'Empty Activity basata su Views (non un modello solo Compose), quindi seleziona Java o Kotlin. Gli esempi seguenti usano Java. Anche Compose può funzionare con WearHF su software supportato, ma la sua semantica e l'albero di accessibilità vanno testati sulla build di destinazione.
1. Apri Android Studio e seleziona New Project.
2. Scegli un'Empty Activity basata su Views. Se la procedura guidata propone i campi per il linguaggio e l'SDK minimo, seleziona Java e imposta minSdk sull'API Android più bassa effettivamente supportata dalla tua app; non copiare un valore da questo esempio senza verificare le dipendenze e il parco dispositivi.
3. Inserisci i dettagli dell'app. Imposta il nome dell'app, il nome del pacchetto e il percorso di salvataggio, quindi crea il progetto.
4. Attendi l'apertura del progetto. Android Studio completa la sincronizzazione Gradle e apre il progetto.
Per ora non aggiungere nulla: non stai cercando un modello di progetto RealWear. Lo scopo della prima build è dimostrare che un'app Android standard può essere eseguita sul Navigator 520.
Passaggio 2: aggiungi un pulsante Android e collegalo a Java
Crea prima un solo pulsante. Aggiungerai il relativo layout Android, collegherai la sua azione di clic in Java e poi lo testerai sul dispositivo.
1. Nel pannello Project di Android Studio, apri app > res > layout > activity_main.xml. Il percorso completo del file è app/src/main/res/layout/activity_main.xml.
2. Seleziona Code nell'editor di layout. Sostituisci il contenuto del file con l'XML completo riportato di seguito.
XML: un pulsante con un comando WearHF
Incolla il layout completo in activity_main.xml, quindi salva il file:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="24dp">
<Button android:id="@+id/continueButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="CONTINUE" android:contentDescription="hf_commands:CONTINUE" />
</LinearLayout>
Breve spiegazione: `LinearLayout` dispone il proprio contenuto in verticale. `android:text` è l'etichetta visibile del pulsante. `android:contentDescription` contiene la direttiva WearHF; anche i servizi di accessibilità Android leggono questo campo, quindi verifica che il controllo resti comprensibile per i tuoi utenti.
Poi, nel pannello Project, apri app > java > il tuo pacchetto > MainActivity.java. Il percorso completo è app/src/main/java/<your.package.name>/MainActivity.java. Mantieni la classe Activity generata e il metodo `onCreate()`.
Se manca, aggiungi `import android.widget.Button;` insieme agli import all'inizio di MainActivity.java. All'interno del metodo `onCreate()` esistente, incolla queste righe subito dopo `setContentView(R.layout.activity_main);`:
Button continueButton = findViewById(R.id.continueButton); continueButton.setOnClickListener(v -> openNextStep());
Aggiungi questo metodo sotto `onCreate()`, ma prima della parentesi graffa di chiusura finale della classe MainActivity:
private void openNextStep() { // Passa alla fase successiva dell'ispezione o dell'ordine di lavoro. }
Come personalizzarlo: modifica `android:text` con l'etichetta adatta al tuo flusso di lavoro. Modifica `hf_commands:CONTINUE` con la frase che gli operatori dovranno pronunciare, ad esempio `hf_commands:Continue Work, Next Step`. L'ID XML `continueButton` deve corrispondere a `R.id.continueButton` in Java; se lo rinomini, aggiornali entrambi. Sostituisci il commento in `openNextStep()` con l'azione di navigazione o di business di cui la tua app ha bisogno. Il controllo vocale di base non richiede un SDK WearHF separato né l'autorizzazione `RECORD_AUDIO`.
Passaggio 3: prepara il Navigator 520 per lo sviluppo Android
Il computer di sviluppo necessita dell'autorizzazione ADB per installare l'app ed eseguirne il debug. Usa un cavo USB-C che supporti il trasferimento dati: i cavi di sola ricarica non vengono rilevati come dispositivo ADB.
1. Apri Advanced Settings. Dalla schermata Home del Navigator pronuncia MY SETTINGS per accedere all'elenco delle impostazioni Android.
2. Apri About Device. Pronuncia ABOUT DEVICE, quindi PAGE DOWN finché non compare Build Number.
3. Attiva Developer Options. Pronuncia BUILD NUMBER più volte, circa sette, finché il dispositivo non conferma che la modalità sviluppatore è attiva.
4. Apri Developer Options. Pronuncia NAVIGATE BACK, poi SYSTEM, poi DEVELOPER OPTIONS.
5. Attiva il debug USB. In Developer Options, attiva USB debugging.
6. Collega il cavo USB-C e approva sul dispositivo la richiesta di debug RSA. Verifica la connessione con `adb devices`: il dispositivo dovrebbe comparire come `device`, non come `unauthorized`.
Se Android Studio non elenca il visore, esegui `adb devices`. Se compare `unauthorized`, sblocca il visore e approva la richiesta RSA. Per reinstallare l'app dalla radice del progetto, usa `adb install -r app/build/outputs/apk/debug/app-debug.apk`; sostituisci il percorso se la variante di build o il nome dell'APK sono diversi. Usa Logcat di Android Studio o `adb logcat` per esaminare gli arresti anomali e i log dell'applicazione.
Il debug USB è un'impostazione di sviluppo. Disattivalo dopo i test in laboratorio oppure gestiscilo secondo la policy di sicurezza dei dispositivi della tua organizzazione; non lasciare l'accesso di sviluppo attivo sui dispositivi della flotta in produzione.
Passaggio 4: esegui l'app sul Navigator 520
1. Seleziona il Navigator in Android Studio. Usa il selettore dei dispositivi nella barra degli strumenti in alto e scegli il dispositivo RealWear collegato.
2. Fai clic su Run. Seleziona il triangolo verde Run oppure usa Run > Run 'app'.
3. Attendi l'installazione. Android Studio compila l'APK e lo installa sul Navigator tramite ADB.
4. Avvia l'app installata dal launcher delle applicazioni del dispositivo, oppure esegui `adb shell monkey -p your.application.id 1` da un terminale di sviluppo. Sostituisci `your.application.id` con l'applicationId indicato nel file di build Gradle del modulo app.
5. Verifica che il pulsante CONTINUE sia visibile e abilitato.
Passaggio 5: testa WearHF senza aggiungere alcun SDK
WearHF è già in esecuzione sul Navigator 520. Con il solo pulsante CONTINUE sullo schermo, testa prima questo controllo:
1. Pronuncia CONTINUE e verifica che il normale listener di clic dell'app venga eseguito esattamente una volta.
2. Pronuncia SHOW HELP per vedere il comando che WearHF espone per questa schermata. Verifica che venga mostrato CONTINUE.
3. Controlla gli indicatori di WearHF e testa la selezione numerica, se disponibile. Non affidarti a un indicatore come unico mezzo per identificare un'azione critica per la sicurezza.
Facoltativo: aggiungi una seconda azione dopo il test di CONTINUE
Una volta che il primo pulsante funziona, puoi aggiungere REPORT ISSUE. In activity_main.xml, inserisci questo Button all'interno del LinearLayout, sotto CONTINUE e prima di </LinearLayout>:
<Button android:id="@+id/reportIssueButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="REPORT ISSUE" />
In MainActivity.java, aggiungi questo listener all'interno di onCreate(), dopo il listener di CONTINUE:
Button reportIssueButton = findViewById(R.id.reportIssueButton); reportIssueButton.setOnClickListener(v -> openIssueReport());
Aggiungi openIssueReport() sotto onCreate(), all'interno di MainActivity. Sostituisci il commento con il flusso di segnalazione dei problemi della tua app:
private void openIssueReport() { // Apri il modulo di segnalazione del problema all'apparecchiatura. }
Ricompila e reinstalla l'app, quindi pronuncia REPORT ISSUE. Verifica che si apra il flusso di segnalazione dei problemi.
Conclusione
Sviluppare per il RealWear Navigator 520 senza un SDK dedicato dimostra che un codice Android pulito e standard è già predisposto per la voce, grazie al servizio integrato WearHF che trasforma le view visibili e le direttive contentDescription in comandi a mani libere intuitivi. Per i team tecnici, ciò evita l'appesantimento dovuto a librerie di terze parti e a motori vocali complessi, mantenendo la logica di business principale all'interno dell'architettura Android standard. Dal punto di vista aziendale, questo approccio accelera il time-to-market e riduce al minimo i costi di implementazione: le aziende possono sfruttare direttamente le app Android esistenti e le competenze dei propri sviluppatori interni, evitare il lock-in di SDK proprietari e modernizzare senza intoppi i flussi di lavoro operativi sul campo, senza stravolgere il proprio stack software.
Per un primo prototipo aziendale, crea una schermata di ispezione o manutenzione, verifica le etichette delle view e le descrizioni accessibili, quindi testa l'attivazione vocale sull'esatto firmware del Navigator 520 utilizzato dalla flotta pilota. Aggiungi direttive incorporate per esigenze specifiche dell'interfaccia e override del riconoscitore solo quando il flusso di lavoro richiede il pieno controllo dei comandi.





















