Utveckla för RealWear Navigator 520 utan SDK: Så fungerar WearHF

Utveckla för RealWear Navigator 520 utan SDK: Så fungerar WearHF

Sammanfattning

RealWear Navigator 520 kräver inget separat tal-SDK för grundläggande röstinteraktion vid apputveckling. WearHF är en del av enhetens programvara. Det kan granska en Android-skärm, identifiera interaktiva vyer som stöds och göra röstkommandon tillgängliga för dem. En vanlig Android-knapp märkt CONTINUE kan därför aktiveras genom att man säger ”CONTINUE”, utan att något RealWear-bibliotek behöver importeras.

Börja med en vanlig Android-app och testa den på den Navigator-firmware som du riktar in dig på. WearHF kan känna igen skärmkontroller som stöds utan talkod i appen. Lägg till ett vydirektiv i android:contentDescription när en kontroll behöver alternativa fraser eller ett särskilt beteende. Använd OVERRIDE_COMMANDS endast när appen måste ta över taligenkänningen och hantera kommandona själv. De här vägarna har olika effekter, som beskrivs nedan.

Viktigt: ”Inget SDK” betyder inte ”ingen kod”. Du bygger fortfarande Android-gränssnittet och affärslogiken. Appen behöver inget separat tal-SDK från RealWear för grundläggande röststyrning, eftersom WearHF tillhandahåller den funktionen på enhetsnivå.

Grundprincip: Du öppnar inte WearHF, installerar inte WearHF och importerar inget WearHF-SDK för grundläggande röststyrning. WearHF körs i bakgrunden som en del av RealWears operativsystem.

Vad är RealWear Navigator 520?

Modellen RealWear Navigator 520 är en robust monokulär dator för assisterad verklighet (assisted reality), utformad för arbete i frontlinjen som underhåll, inspektion och fältservice. RealWears firmware 2.x för Navigator 500/520 bygger på Android 13, och underhållsversionen Ari OS 2.0 från den 17 september 2026 (firmware 3.0, build 3.0.3-15, som erbjuds enheter med build 2.2.3-33) flyttar enheten till Android 16. Firmware-färdplaner kan ändras, så behandla enhetens operativsystem som en begränsning vid driftsättning: dokumentera testad firmware-build, Android API-nivå, appens minSdk/targetSdk och enhetsmodell i din versionsmatris. Härled inte minSdk eller targetSdk enbart utifrån headsetets Android-version.

För utvecklare innebär det att du bygger och paketerar en vanlig Android-app. WearHF körs på enheten och kan göra kontroller som stöds tillgängliga för röststyrning; det implementerar inte ditt arbetsflöde, godkänner inte affärsåtgärder och ersätter inte validering i appen.

Vad är WearHF?

WearHF är RealWears inbyggda tjänst för tal och handsfree-interaktion. Den tolkar Android-vyer och skärmdirektiv som stöds och aktiverar sedan en vy eller skickar en talhändelse beroende på vald integration. Grundläggande vyinteraktion kräver inget separat talbibliotek från RealWear. Inbäddade direktiv tolkas från android:contentDescription; programmatiska kommandon använder dokumenterade Android-broadcast-intents. Blanda inte ihop ett vyklick med en åsidosättning av taligenkänningen: en åsidosättning tar över taligenkänningen och kan undertrycka inbäddade/skriptade kommandon tills den återställs.

Det här behöver du innan du bygger den första appen

· En Navigator 520 med den firmware-build du tänker stödja; dokumentera exakt build och Android-version.

· En dator med Windows, macOS eller Linux.

· Android Studio med Android SDK och Platform Tools (ADB). Använd den Android API-nivå som din app kräver och validera mot den firmware som RealWear stöder.

· En USB-C-kabel för dataöverföring.

· Inget RealWear-SDK för den första appen.

· Ett affärsarbetsflöde att testa, till exempel att gå vidare till nästa inspektionssteg eller rapportera ett utrustningsfel.

Så bygger du en röststyrd Android-app utan RealWear-SDK

Steg 1: Skapa ett vanligt Android-projekt

Börja med ett Android Views-projekt för den här genomgången. Välj en Views-baserad Empty Activity i Android Studio (inte en mall som enbart använder Compose) och välj sedan Java eller Kotlin. Exemplen nedan använder Java. Compose kan också fungera med WearHF på programvara som stöds, men dess semantik och tillgänglighetsträd bör testas på målversionen.

1. Öppna Android Studio och välj New Project.

2. Välj en Views-baserad Empty Activity. Om guiden har fält för språk och lägsta SDK väljer du Java och sätter minSdk till den lägsta Android API-nivå som din app faktiskt stöder; kopiera inte ett värde från det här exemplet utan att kontrollera dina beroenden och din enhetsflotta.

3. Ange appens uppgifter. Ange appnamn, paketnamn och lagringsplats och skapa sedan projektet.

4. Vänta tills projektet öppnas. Android Studio slutför Gradle-synkroniseringen och öppnar projektet.

Lägg inte till något ännu: Du letar inte efter någon projektmall från RealWear. Syftet med den första versionen är att visa att en vanlig Android-app kan köras på Navigator 520.

Steg 2: Lägg till en Android-knapp och koppla den till Java

Skapa först en enda knapp. Du lägger till dess Android-layout, kopplar dess klickåtgärd i Java och testar den sedan på enheten.

1. Öppna app > res > layout > activity_main.xml i panelen Project i Android Studio. Den fullständiga sökvägen är app/src/main/res/layout/activity_main.xml.

2. Välj Code i layoutredigeraren. Ersätt filens innehåll med den fullständiga XML-koden nedan.

XML: En knapp med ett WearHF-kommando

Klistra in hela layouten i activity_main.xml och spara sedan filen:

<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>

Kort förklaring: `LinearLayout` staplar sitt innehåll vertikalt. `android:text` är knappens synliga etikett. `android:contentDescription` innehåller WearHF-direktivet; Androids tillgänglighetstjänster läser också det här fältet, så testa att kontrollen förblir begriplig för dina användare.

Öppna sedan app > java > ditt paket > MainActivity.java i panelen Project. Den fullständiga sökvägen är app/src/main/java/<your.package.name>/MainActivity.java. Behåll den genererade Activity-klassen och metoden `onCreate()`.

Om den saknas lägger du till `import android.widget.Button;` bland importerna högst upp i MainActivity.java. Klistra in följande rader i den befintliga metoden `onCreate()`, direkt efter `setContentView(R.layout.activity_main);`:

Button continueButton = findViewById(R.id.continueButton); continueButton.setOnClickListener(v -> openNextStep());

Lägg till den här metoden under `onCreate()` men före den sista avslutande klammerparentesen i klassen MainActivity:

private void openNextStep() { // Navigate to the next inspection or work-order step. }

Så anpassar du den: ändra `android:text` till den etikett som passar ditt arbetsflöde. Ändra `hf_commands:CONTINUE` till den fras som arbetarna ska säga, till exempel `hf_commands:Continue Work, Next Step`. XML-id:t `continueButton` måste matcha `R.id.continueButton` i Java; om du byter namn måste du uppdatera båda. Ersätt kommentaren i `openNextStep()` med den navigering eller affärsåtgärd som din app behöver. Grundläggande röststyrning kräver varken ett separat WearHF-SDK eller behörigheten `RECORD_AUDIO`.

Steg 3: Förbered Navigator 520 för Android-utveckling

Utvecklingsdatorn behöver ADB-auktorisering för att kunna installera och felsöka appen. Använd en USB-C-kabel som klarar dataöverföring; kablar som bara laddar identifieras inte som en ADB-enhet.

1. Öppna Advanced Settings. Säg MY SETTINGS på Navigators startskärm för att komma till listan med Android-inställningar.

2. Öppna About Device. Säg ABOUT DEVICE och sedan PAGE DOWN tills Build Number syns.

3. Aktivera Developer Options. Säg BUILD NUMBER upprepade gånger, ungefär sju gånger, tills enheten bekräftar att utvecklarläget är aktiverat.

4. Öppna Developer Options. Säg NAVIGATE BACK, sedan SYSTEM och sedan DEVELOPER OPTIONS.

5. Aktivera USB-felsökning. Slå på USB debugging i Developer Options.

6. Anslut USB-C-kabeln och godkänn RSA-felsökningsfrågan på enheten. Bekräfta anslutningen med `adb devices`; enheten ska visas som `device`, inte `unauthorized`.

Om Android Studio inte listar headsetet kör du `adb devices`. Om det visar `unauthorized` låser du upp headsetet och godkänner RSA-frågan. Vid en ominstallation från projektets rotkatalog använder du `adb install -r app/build/outputs/apk/debug/app-debug.apk`; byt ut sökvägen om din byggvariant eller ditt APK-namn skiljer sig. Använd Logcat i Android Studio eller `adb logcat` för att undersöka krascher och programloggar.

USB-felsökning är en utvecklingsinställning. Inaktivera den efter labbtesterna eller hantera den enligt organisationens säkerhetspolicy för enheter; lämna inte utvecklingsåtkomst aktiverad på enheter i produktionsflottan.

Steg 4: Kör appen på Navigator 520

1. Välj Navigator i Android Studio. Använd enhetsväljaren i det övre verktygsfältet och välj den anslutna RealWear-enheten.

2. Klicka på Run. Välj den gröna Run-triangeln eller använd Run > Run 'app'.

3. Vänta på installationen. Android Studio bygger APK-filen och installerar den på Navigator via ADB.

4. Starta den installerade appen från enhetens programstartare, eller kör `adb shell monkey -p your.application.id 1` från en utvecklingsterminal. Ersätt `your.application.id` med applicationId i Gradle-byggfilen för appmodulen.

5. Kontrollera att knappen CONTINUE är synlig och aktiverad.

Steg 5: Testa WearHF utan att lägga till något SDK

WearHF körs redan på Navigator 520. Med enbart knappen CONTINUE på skärmen testar du först den här kontrollen:

1. Säg CONTINUE och kontrollera att appens vanliga klicklyssnare körs exakt en gång.

2. Säg SHOW HELP för att se vilket kommando WearHF exponerar för den här skärmen. Kontrollera att det visar CONTINUE.

3. Kontrollera WearHF-indikatorerna och testa numeriskt val om det erbjuds. Förlita dig inte på en indikator som det enda sättet att identifiera en säkerhetskritisk åtgärd.

Valfritt: Lägg till en andra åtgärd efter CONTINUE-testet

När den första knappen fungerar kan du lägga till REPORT ISSUE. Placera den här Button-komponenten i activity_main.xml inuti LinearLayout, under CONTINUE och före </LinearLayout>:

<Button android:id="@+id/reportIssueButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="REPORT ISSUE" />

Lägg till den här lyssnaren i onCreate() i MainActivity.java, efter lyssnaren för CONTINUE:

Button reportIssueButton = findViewById(R.id.reportIssueButton); reportIssueButton.setOnClickListener(v -> openIssueReport());

Lägg till openIssueReport() under onCreate(), inuti MainActivity. Ersätt kommentaren med arbetsflödet för felrapportering i din app:

private void openIssueReport() { // Open the equipment issue form. }

Bygg om och installera om appen och säg sedan REPORT ISSUE. Kontrollera att arbetsflödet för felrapportering öppnas.

Slutsats

Att utveckla för RealWear Navigator 520 utan ett dedikerat SDK visar att ren, standardmässig Android-kod redan är röstkapabel, med stöd av den inbyggda tjänsten WearHF som omvandlar synliga vyer och contentDescription-direktiv till intuitiva handsfree-kontroller. För tekniska team innebär det att man slipper uppsvällda tredjepartsbibliotek och komplexa talmotorer, samtidigt som kärnlogiken stannar inom en vanlig Android-arkitektur. Ur ett affärsperspektiv förkortar detta angreppssätt tiden till marknaden och minimerar kostnaderna för driftsättning: företag kan direkt dra nytta av befintliga Android-appar och sin interna utvecklarkompetens, undvika inlåsning i proprietära SDK:er och smidigt modernisera arbetsflödena i frontlinjen utan att störa sin mjukvarustack.

För en första prototyp i företagsmiljö: bygg en inspektions- eller underhållsskärm, kontrollera vyetiketter och tillgänglighetsbeskrivningar och testa sedan röstaktiveringen på exakt den Navigator 520-firmware som pilotflottan använder. Lägg till inbäddade direktiv för specifika behov i gränssnittet, och åsidosättningar av taligenkänningen endast när arbetsflödet kräver full kontroll över kommandona.

João Noronha

Skriven av

João Noronha

Vanliga frågor

Den här artikeln

Ja. Appen är fortfarande en Android-applikation, så utvecklare skriver gränssnittet och affärslogiken i Java, Kotlin, XML Views eller något annat Android-UI-verktyg som stöds. Grundläggande vyinteraktion med WearHF kräver inget separat tal-SDK från RealWear.

Inte för grundläggande vykommandon. WearHF är inbyggt i RealWears programvara och kan härleda kommandon från Android-vyer som stöds. Använd de dokumenterade direktiven eller intents för anpassat beteende.

Du öppnar det inte som en separat app. WearHF körs i bakgrunden som en del av programvaran i Navigator 520.

För klickbara vyer som stöds kan WearHF härleda ett kommando från vyns text eller innehållsbeskrivning (content description), beroende på direktivet och vyhierarkin. Testa det kommando som exponeras på den faktiska skärmen – en synlig etikett är ingen garanti för varje anpassad vy.

Säg SHOW HELP på Navigator 520. RealWear visar de kommandon som är kopplade till den skärmen.

I en Views-baserad app öppnar du layoutens XML-fil (till exempel app/src/main/res/layout/activity_main.xml) och sätter `android:contentDescription` på vyn. Använd `hf_commands:Phrase One, Phrase Two` för flera fraser och `-` mellan flera direktiv.

`hf_commands` är ett WearHF-direktiv på vynivå. Placera det i vyns contentDescription, följt av kommaseparerade fraser – varje igenkänd fras klickar på den vyn.

Inget separat WearHF-bibliotek behövs för inbäddade direktiv. De är strängar i Androids contentDescription som enhetstjänsten tolkar. Eftersom contentDescription även används av tillgänglighetstjänster bör du behålla en användbar tillgänglig etikett och testa båda beteendena.

Använd OVERRIDE_COMMANDS när taligenkänningens kommandolista måste ersättas under körning. För kommandon på skärmnivå som kompletterar vyer kan du överväga `hf_add_commands`. Kom ihåg att åsidosättningsläget tillfälligt undertrycker inbäddade/skriptade kommandon och måste återställas eller registreras om vid de dokumenterade punkterna i livscykeln.

Enligt RealWears versionsinformation för Collaborate från maj 2026 har WearHF inbyggt stöd för Jetpack Compose. Det talar för att plattformen stöder Compose, men det ersätter inte tester av semantik, anpassade composables, tillgänglighetsetiketter och kommandoöverlägg i din egen app. Den här guiden använder XML Views så att kopplingen mellan vy och kommando blir tydlig. Referens: versionsinformationen för Collaborate 2.5.1 anger att WearHF har inbyggt stöd för Compose (publicerad 2026-05-07). Tillämpa det påståendet endast på enhetsprogramvara som innehåller motsvarande stöd, och verifiera beteendet på din målversion.

Den publicerade firmwareversionen 2.2 för Navigator 500/520 bygger på Android 13. Enligt RealWears firmwarepolicy finns en plan att flytta enheter som stöds till ett Android 16-baserat operativsystem under 2026 – men en plan är ingen garanti för en lansering. Kontrollera den aktuella versionsinformationen för GA-versionen och testa exakt den build som flottan använder innan du väljer compileSdk, targetSdk, minSdk, behörigheter eller lanseringsbeteende.