Unterstützte Plattformen: Android 12 und Android 14 Elo-Geräte inklusive Backpack 4 (Standard/Wert), I-Series 4 (Standard/Wert), I-Series Standard, M50, Elo Pay M60, Elo Pay 7”, Elo Pay 22", M100, M100C.
Vollständige Referenz (Wissensdatenbank + SDK Javadoc)
APIs sind nach funktionalen Klassen (System, Netzwerk, Paket usw.) organisiert, um die Entdeckung zu vereinfachen und die Implementierung zu beschleunigen.
Globale bewährte Verfahren (aus KB)
-
Binde immer an den Dienst, bevor du eine API aufrufst.
Rufe keine Methoden auf, bisonServiceConnected()empfangen wurde. -
Gehe davon aus, dass die Gerätepolitik lokale Einstellungen überschreiben kann.
Dies gilt insbesondere für Zeit, Zeitzone, USB, Kioskmode und Anwendungsinstallation. -
Verwende NTP zur Zeitsynchronisation in der Produktion.
Vermeide manuelle Zeiteinstellungen, außer zu Testzwecken. -
Verstehe das Rücksetzverhalten.
-
Unternehmensreset löscht die Elo-Konfiguration und den Anmeldestatus.
-
Werkseitige Rückstellung löscht alle Benutzerdaten und bringt das Gerät in den Auslieferungszustand zurück.
-
-
Protokolliere das Ergebnis jedes API-Aufrufs.
Dies ist entscheidend für die Fehlersuche und Eskalation.
❗ Wichtige Nutzungshinweise
Einige SDK-APIs erfordern spezifische Android-Berechtigungen und können sich je nachdem, ob sich das Gerät im EloView-Modus oder im Android-Home-Modus befindet, anders verhalten. Die Durchsetzung der Gerätepolitik kann lokal angewendete Einstellungen überschreiben. Entwickler sollten den Gerätemodus und den Berechtigungsstatus validieren, bevor sie APIs in Produktionsanwendungen aufrufen.
Das EloView Home SDK ist ein servicebasiertes Android-SDK und erfordert eine erfolgreiche Servicebindung, bevor API-Aufrufe ausgeführt werden können. Methoden können null oder kein Ergebnis zurückgeben, wenn:
- Der Dienst noch nicht verbunden ist
- Das Gerät sich nicht im kompatiblen EloView-Zustand befindet
- Richtlinienbeschränkungen den Betrieb blockieren
Dieser Leitfaden konzentriert sich auf unterstützte und häufig verwendete Muster. Es werden nicht jede Android-Berechtigung, jedes Lebenszyklus-Randfall oder jeder interne Rückgabestatus aufgeführt, der in der Roh-SDK-Javadoc dokumentiert ist. Die Standardbehandlung des Android-Servicelebenszyklus und die Fehlerüberprüfung müssen in Produktionsanwendungen implementiert werden.
Häufige Szenarien aus der Praxis (aus KB)
Szenario: Zeitzone nach der Geräteanmeldung falsch
system.setNtpEnabled(true);
system.setNtpServer("time.aws.com");
system.setTimeZone("US/Central");
system.syncTimeNow();
// Überprüfen
String tz = system.getTimeZone();
Log.d(TAG, "Zeitzone=" + tz);
Tipp: Wenn die Zeitzone nach dem Neustart zurückgesetzt wird, überprüfe, ob die automatische Zeitzoneneinstellung in Android aktiviert ist und ob die Gerätepolitik eine andere Region nicht erneut anwendet.
Szenario: Sicheren Kioskmode für eine Einzelanwendung konfigurieren
pkg.setKioskApp("com.example.kiosk");
pkg.setKioskModeEnabled(true);
pkg.launchApp("com.example.kiosk");
Warnung: Validier immer einen administrativen Fluchtweg, bevor du den Kioskmode in der Produktion aktivierst.
Servicebinding-Vorlage (aus KB)
eloView.bindService(context, callback, accessToken);
// Sicher, SDK-APIs innerhalb von callback.onServiceConnected() aufzurufen
eloView.unbindService(context);
Wichtiger Hinweis: bindService() und unbindService() geben keine Werte zurück. SDK-APIs dürfen nur nach dem Aufruf von onServiceConnected() invoked werden.
Kern-/Servicebinding-APIs
EloView
Die EloView-Klasse bietet die folgenden Operationen:
- Setze den Inhalt, der im EloView-Control-Modus auf dem Gerät abgespielt werden soll, wenn das Gerät offline oder nicht bei einem Konto registriert ist, unter Verwendung von setOfflinePlayContent().
- Abrufen des Typs des Inhalts (APK oder WebView) und des Namens des Inhalts, der aktuell im EloView-Control-Modus gesetzt ist, unter Verwendung von getPlayContent().
- Hole den aktuellen Status der Wiedergabe des konfigurierten Inhalts im EloView-Control- Modus unter Verwendung von getPlayContentStatus().
- Überprüfen, ob das Gerät derzeit mit der EloView-Cloud (online oder offline) verbunden ist, unter Verwendung von getDeviceCloudStatus().
- WIFI in Elo QuickSettings und Android-Homemodus umschalten mit toggleWifi().
- Bluetooth in Elo QuickSettings und Android-Homemodus umschalten mit toggleBT().
bindService
public void bindService(android.content.Context context, ServiceConnectionCallback callback, java.lang.String accessToken)
Diese Methode bindet den EloView-Service an die Anwendung. Du musst dies vor dem Aufruf irgendwelcher EloView-APIs tun.
Parameter
- context – Kontext, in dem die EloView-APIs verwendet werden.
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.bindService(context, callback, "accessToken");
Log.d(TAG, "OK: bindService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: bindService", e);
}
unbindService
public void unbindService(android.content.Context context)
Diese Methode wird verwendet, um den Dienst von der Anwendung zu trennen. Verwende diese Methode, um den Dienst von der Anwendung zu trennen, wenn du Ressourcen bereinigst.
Parameter
- context – Kontext
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.unbindService(context);
Log.d(TAG, "OK: unbindService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unbindService", e);
}
setOfflinePlayContent
public java.lang.String setOfflinePlayContent(java.lang.String packageName)
Diese Methode wird verwendet, um Inhalte auf dem Gerät im EloView-Control-Modus festzulegen, wenn das Gerät offline ist oder nicht in einem Konto registriert ist. Wenn das Gerät online kommt und Inhalte über EloView festgelegt werden, wird das über diese API festgelegte Inhalt überschrieben.
Parameter
- packageName – Paket, das als Standardinhalt auf dem Gerät festgelegt werden soll.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setOfflinePlayContent("packageName");
Log.d(TAG, "OK: setOfflinePlayContent result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setOfflinePlayContent", e);
}
getPlayContent
public java.lang.String getPlayContent()
Diese Methode gibt den Typ des Inhalts und den Namen des auf dem Gerät festgelegten Inhalts zurück. Diese Methode funktioniert nur im EloView-Control-Modus.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.getPlayContent();
Log.d(TAG, "OK: getPlayContent result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getPlayContent", e);
}
getPlayContentStatus
public java.lang.String getPlayContentStatus()
Diese Methode gibt den Status des Wiedergab Inhalts auf dem Gerät im Control-Modus zurück. Der Status kann eines der folgenden Strings sein:
YET_TO_DOWNLOAD, DOWNLOADING, DOWNLOADED, INSTALLING, INSTALLED, DOWNLOAD_FAILED, INSTALL_FAILED, UNKNOWN_STATUS
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.getPlayContentStatus();
Log.d(TAG, "OK: getPlayContentStatus result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getPlayContentStatus", e);
}
getDeviceCloudStatus
public java.lang.String getDeviceCloudStatus()
Diese Methode gibt den Online- oder Offline-Status des Geräts zurück. Der Status kann eines der folgenden Strings sein: "Online", "Offline", "Connecting", "Reconnecting", "Online (Nicht bereitgestellt)".
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.getDeviceCloudStatus();
Log.d(TAG, "OK: getDeviceCloudStatus result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getDeviceCloudStatus", e);
}
toggleWifi
void toggleWifi(boolean isEnableWifi)
Aktiviert oder deaktiviert Wi-Fi auf dem Gerät. Dies gilt sowohl im EloView-Modus als auch im Android-Home-Modus.
Parameter
- isEnableWifi – Boolean für das Aktivieren oder Deaktivieren von WiFi in den QuickSettings.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.toggleWifi(true);
Log.d(TAG, "OK: toggleWifi result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: toggleWifi", e);
}
switchToAndroidHomeMode
void switchToAndroidHomeMode() void switchToAndroidHomeMode(boolean isRebootNeeded, boolean isAndroidHomeMode)
Diese Methode wird verwendet, um vom EloView-Modus in den Android-Home-Modus zu wechseln. Dies ist dasselbe wie switchToAndroidHomeMode(), es akzeptiert jedoch zwei boolesche Parameter. Es gibt keinen Weg zurück in den EloView-Modus ohne einen Werksreset, also sei vorsichtig.
Parameter
- Schaltet das Gerät vom EloView-Modus in den Android-Home-Modus.
- Wenn isRebootNeeded auf true gesetzt ist, wird das Gerät neu gestartet, um die Modusänderung anzuwenden.
- Wichtiger Hinweis: Der Wechsel in den Android-Home-Modus kann von EloView verwaltete Einschränkungen und Richtlinien deaktivieren.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.switchToAndroidHomeMode(true, true);
Log.d(TAG, "OK: switchToAndroidHomeMode result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: switchToAndroidHomeMode", e);
}
toggleBT
public int toggleBT(boolean isEnableBT)
Diese Methode wird verwendet, um Bluetooth in den QuickSettings (EloView-Modus) umzuschalten. Es kann auch verwendet werden, um Bluetooth im Android-Home-Modus umzuschalten.
Parameter
- isEnableBT – Boolean für das Aktivieren oder Deaktivieren von Bluetooth in den QuickSettings.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.toggleBT(true);
Log.d(TAG, "OK: toggleBT result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: toggleBT", e);
}
Account-APIs
AccountManager
Die AccountManager-Klasse bietet die folgenden Operationen:
1. Liefert ein Authentifizierungstoken von einem EloServer basierend auf den vom Benutzer bereitgestellten Anmeldeinformationen (emailId/Passwort oder clientId/geheimer Schlüssel).
2. Überprüfen, ob ein gegebenes Authentifizierungstoken gültig ist oder abgelaufen ist. Das Authentifizierungs-Token kann entweder das Token sein, das vom EloView Server erhalten wurde, oder es kann ein Offline-JWT-Token sein, das vom Elo-Support-Team bereitgestellt wird. (Das Offlinetoken wird mithilfe des Paketnamens deiner Anwendung generiert und kann nur mit dem Paket verwendet werden, für das es generiert wurde.)
3. Alle APIs erfordern ein Offlinetoken, um zu funktionieren und werden nicht mit einem Onlinetoken funktionieren. Die einzige Ausnahme sind OTA-APIs. Die OTA-APIs erfordern das Onlinetoken, wenn der OTA von einem EloView-Server angewendet wird. Für die Anwendung des OTA über eine benutzerdefinierte Server-URL oder von einer lokalen Datei auf dem Gerät kann das Offlinetoken verwendet werden.
Zum Beispiel, um ein Authentifizierungstoken zu erhalten:
1. Verwende emailId und Passwort, rufe getEloAccessToken auf. 2. Verwende clientId und geheimen Schlüssel, rufe getEloOAuthToken auf. Nach erfolgreicher Authentifizierung geben diese Methoden ein Token zurück. 3. Für das Offline-JWT-Token kontaktiere das Elo-Support-Team.
Das vom Server oder Support-Team abgerufene Token wird mit der Methode verifyEloToken überprüft.
Registriere die Broadcast-Empfänger, die von diesen AccountManager-APIs verwendet werden, mithilfe der Methode unregisterAccountManagerListener in den onPause- und onDestroy-Methoden der Aktivitäten, in denen du diese APIs verwendest, um Lecks zu vermeiden.
getProperty
public static java.lang.String getProperty()
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.getProperty();
Log.d(TAG, "OK: getProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getProperty", e);
}
setProperty
public void setProperty(java.lang.String property)
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setProperty("property");
Log.d(TAG, "OK: setProperty result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setProperty", e);
}
getClientId
public static java.lang.String getClientId()
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.getClientId();
Log.d(TAG, "OK: getClientId result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getClientId", e);
}
getBaseUri
public static android.net.Uri getBaseUri()
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.getBaseUri();
Log.d(TAG, "OK: getBaseUri result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getBaseUri", e);
}
getEloAccessToken
public void getEloAccessToken(android.content.Context context, java.lang.String userEmail, java.lang.String password, android.os.Handler handler)
Diese Methode wird verwendet, um ein Zugangstoken vom Elo-Server zu erhalten.
Parameter
- context – Ein Kontextobjekt der aufrufenden Klasse (Aktivität oder Dienst).
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.getEloAccessToken(context, "userEmail", "password", handler);
Log.d(TAG, "OK: getEloAccessToken result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEloAccessToken", e);
}
configureOAuthHostedUI
public void configureOAuthHostedUI(android.app.Activity activity, android.os.Handler handler)
Diese Methode wird verwendet, um die OAuth-Hosted-Benutzeroberfläche zu initialisieren.
Parameter
- activity – Eine Aktivitätsinstanz der aufrufenden Klasse.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.configureOAuthHostedUI(activity, handler);
Log.d(TAG, "OK: configureOAuthHostedUI result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: configureOAuthHostedUI", e);
}
stopOAuth
public void stopOAuth()
Rufe stopOAuth in der onStop()-Überlagerungsmethode der Aktivität auf.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.stopOAuth();
Log.d(TAG, "OK: stopOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: stopOAuth", e);
}
destroyOAuth
public void destroyOAuth()
Rufe destroyOAuth in der onStop()-Überlagerungsmethode der Aktivität auf.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.destroyOAuth();
Log.d(TAG, "OK: destroyOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: destroyOAuth", e);
}
logoutOAuth
public void logoutOAuth()
Rufe logoutOAuth auf, um die aktuelle Anmeldesitzung zu beenden.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.logoutOAuth();
Log.d(TAG, "OK: logoutOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: logoutOAuth", e);
}
verifyEloToken
public void verifyEloToken(android.content.Context context, java.lang.String accessToken, android.os.Handler handler)
Diese Funktion fragt den Elo-Server, um das gegebene Token zu überprüfen. Nach erfolgreicher Überprüfung erhält der Handler eine Nachricht vom Typ TOKEN_VERIFY_SUCCESS. Bei einem Fehler wird TOKEN_VERIFY_FAIL empfangen.
Parameter
- context – Ein Kontextobjekt der aufrufenden Klasse (Aktivität oder Dienst).
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.verifyEloToken(context, "accessToken", handler);
Log.d(TAG, "OK: verifyEloToken result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: verifyEloToken", e);
}
getEloOAuthToken
public void getEloOAuthToken(android.content.Context context, java.lang.String clientID, java.lang.String secret, android.os.Handler handler)
Diese Methode wird verwendet, um das EloView-Portal nach einem neuen OAuth-Token zu fragen. Nach erfolgreicher Authentifizierung wird ein Token an das Gerät gesendet. Dieses Token ist 24 Stunden nach seiner Ausstellung gültig. Wenn das Token abläuft, werden weitere Versuche zur Überprüfung des Tokens und zum Aufrufen von APIs mit der Antwort TOKEN_VERIFY_FAIL abgebrochen. Das Gleiche gilt, wenn ein Token nie angefordert oder empfangen wurde.
Wenn erfolgreich, erhält der Handler eine Nachricht des Typs OAUTH_TOKEN_VALID mit einem JWT-Token als Antwort. Unten ist ein Beispiel für eine erfolgreiche Antwort:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlJQTSJ9.eyJ1ZW1haWwiOiJwcmF0YXBlbG8rUHJvZEBnbWFpbC5jb20iLCJvdGl0bGUiOiJwcmF0YXBlbG8rUHJvZEBnbWFpbC5jb20iLCJjYXAiOnsiY3JjIjoiSDIvb2RnIiwicGVybSI6ImZmZmZmZmYwMCJ9LCJpYXQiOjE1MjUxMTc4NDgsIm5iZiI6MTUyNTExNzg0OCwiZXhwIjoxNTI1MjA0MjQ4LCJpc3MiOiIxNTAyIiwic3ViIjoiZWVhNDRkY2JkMjU5YzQyOWY4NTA3YWZhNTQyY2Q3M2YiLCJqdGkiOiJ2ZE14N1ppUGVnWT0ifQ.b2e-F1mVh0ummkBJk3m8pT2qSCceRxuS_A9GAKtYBeo"
Im Falle eines Authentifizierungsfehlers aufgrund eines falschen clientID oder secretID erhält der Handler eine Nachricht vom Typ OAUTH_TOKEN_INVALID.
Parameter
- context – Ein Kontextobjekt der aufrufenden Klasse (Aktivität oder Dienst).
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.getEloOAuthToken(context, "clientID", "secret", handler);
Log.d(TAG, "OK: getEloOAuthToken result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEloOAuthToken", e);
}
unregisterAccountManagerListener
public void unregisterAccountManagerListener(android.content.Context context)
Diese Methode wird verwendet, um den Broadcast-Empfänger, der während der Verwendung der AccountManager-APIs registriert wurde, abzumelden. Bitte stelle sicher, dass du dies in den onPause- und onDestroy-Methoden der Aktivitäten aufrufst, in denen du diese APIs verwendet hast, um Lecks zu vermeiden.
Parameter
- context – Kontext, in dem die System-APIs verwendet wurden.
- context – Android-Kontext, der verwendet wird, um den Account-Manager-Listener abzumelden.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.unregisterAccountManagerListener(context);
Log.d(TAG, "OK: unregisterAccountManagerListener result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unregisterAccountManagerListener", e);
}
setDefaultEnvironment
public void setDefaultEnvironment(android.content.Context ctx)
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setDefaultEnvironment(context);
Log.d(TAG, "OK: setDefaultEnvironment result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setDefaultEnvironment", e);
}
selectEnvironment
public void selectEnvironment(android.content.Context ctx, java.lang.String prop, boolean isSealed)
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.selectEnvironment(context, "prop", true);
Log.d(TAG, "OK: selectEnvironment result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: selectEnvironment", e);
}
isPolarisLocked
public boolean isPolarisLocked(android.content.Context context)
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.isPolarisLocked(context);
Log.d(TAG, "OK: isPolarisLocked result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: isPolarisLocked", e);
}
getEnvironment
public java.lang.String getEnvironment(android.content.Context ctx)
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.getEnvironment(context);
Log.d(TAG, "OK: getEnvironment result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEnvironment", e);
}
isPolaris
public boolean isPolaris(android.content.Context context)
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.isPolaris(context);
Log.d(TAG, "OK: isPolaris result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: isPolaris", e);
}
TokenListener
TokenListener hört auf Ereignisse zur Überprüfung von Authentifizierungstoken und bietet bei einem gültigen Token die Erfolgsantwort, um weitere Operationen durchzuführen.
Es sind keine Methoden für diesen Typ dokumentiert.
System APIs
ServiceConnectionCallback
onServiceConnected
void onServiceConnected()
Diese Methode wird aufgerufen, wenn der Dienst verbunden ist, nachdem bindService aufgerufen wurde.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.onServiceConnected();
Log.d(TAG, "OK: onServiceConnected result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: onServiceConnected", e);
}
onServiceDisconnected
void onServiceDisconnected()
Diese Methode wird aufgerufen, wenn der Dienst getrennt wird. Dies wird nicht aufgerufen, wenn der Dienst mit unbindService abgebunden wird.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.onServiceDisconnected();
Log.d(TAG, "OK: onServiceDisconnected result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: onServiceDisconnected", e);
}
System
Die System-Klasse bietet die folgenden Operationen:
-
Hole ein Authentifizierungstoken mit
getEloAccessToken. -
Erfasse den Gerätescreenshot mit
captureScreenShot. -
Setze die Gerätedrehung (hochformat, querformat, umgekehrtes Hochformat, umgekehrtes
Querformat) mit
setOrientation. -
Hole die Gerätdrehung mit
getOrientation. -
Setze das Gerät auf die Werkseinstellungen zurück mit
factoryReset. -
Starte das Gerät lautlos neu mit
silentReboot. -
Aktiviere oder deaktiviere die Navigationsleiste mit
setNavigationBarEnabled. -
Aktiviere oder deaktiviere die Statusleiste mit
setStatusBarEnabled. -
Erlaube alle Laufzeitberechtigungen mit
setGrantAllAppPermissionEnabled. -
Hole den Status der Navigationsleiste mit
getNavigationBarEnabled. -
Hole den Status der Statusleiste mit
getStatusBarEnabled. -
Hole den Status der Berechtigung aller Apps mit
getGrantAllAppPermissionEnabled. -
Setze und hole den Hintergrundbeleuchtungs-Timeout mit
setBacklightTimeOutundgetBacklightTimeOut. -
Setze und ändere das Entsperren des Sperrbildschirms mit
setLockScreenPasswordundchangeLockScreenPassword. -
Erlaube automatisch USB-Berechtigungen mit
autoAllowUSBPermission. -
Sperre oder entsperre die Firmware des sicheren Prozessors mit
setFirmwareStatusLockEnabled. -
Setze und ändere die PIN des Geräts mit
setLockScreenPinundchangeLockScreenPin. -
Aktiviere oder deaktiviere WiFi mit
setWifiEnabledund hole den Status mitgetWifiEnabled. -
Bereinige den App-Cache und die Daten mit
clearAllAppCacheUserDataundclearAppCacheUserData. -
Aktiviere ADB mit
setAdbEnabledund konfiguriere benutzerdefinierten Port mitcustomPortAdb. -
Aktiviere oder deaktiviere die Home-Taste mit
setHomeButtonEnabled. -
Aktiviere oder deaktiviere die Power-Taste mit
setPowerButtonEnabled. -
Aktiviere oder deaktiviere das Hilfe-Menü des Texteditors mit
setTextEditorAssistMenuEnabled. -
Aktiviere oder deaktiviere das "Mehr anzeigen"-Panel für die Lautstärke mit
setVolumePanelShowMoreEnabled. -
Aktiviere oder deaktiviere den Zebra-Barcodescanner mit
setBarcodeReaderEnabled. -
Auslösen eines Barcode-Scans mit
setScanBarcodeReaderEnabled. -
Aktiviere oder deaktiviere das Elo-Protokoll mit
setEloLoggingEnabled. -
Aktiviere oder deaktiviere die zufällige WiFi-MAC mit
setRandomWifiMacAddressEnabled. -
Aktiviere oder deaktiviere den Zugriff auf den Star-Drucker über WebView mit
setStarPeripheralConnectEnabled. -
Überprüfe den Status der automatischen Erlaubung von USB-Berechtigungen mit
getAutoAllowUSBPermission. -
Setze, entferne und frage den Gerätebesitzer mit
setDeviceOwner,removeDeviceOwnerundgetDeviceOwnerStatusab. -
Setze und hole die DPI des Displays mit
setDpiundgetDpi. -
Setze und hole die Sprache mit
setLanguageundgetLanguage. -
Setze und hole den Sperrtyp mit
setLockTypeundgetLockType. -
Aktiviere oder deaktiviere den Multi-Client-IME mit
setMultiClientImeEnabledundgetMultiClientImeEnabled. -
Setze und hole den NTP-Server mit
setNtpServerUrlundgetNtpServerUrl. -
Setze und hole das NTP-Abfrageintervall mit
setNtpPollIntervalundgetNtpPollInterval. -
Steuere Installationsberechtigungen mit
setInstallPermissionToSpecificApp,setInstallAllAppPermissionEnabledundgetInstallPermissionToSpecificApp. -
Setze und hole die Bildschirmgröße mit
setScreenSizeundgetScreenSize. -
Setze und hole die kleinste Pixelbreite mit
setSmallestPixelWidthundgetSmallestPixelWidth. -
Setze und hole die Zeitzone mit
setTimeZoneundgetTimeZone. -
Aktiviere oder deaktiviere die Barrierefreiheitsdienste mit
setAccessibilityService. -
Aktiviere oder deaktiviere das automatische Datum und die Uhrzeit mit
setAutoDateTimeEnabled. -
Aktiviere oder deaktiviere die Bestätigung der Bluetooth-Paarung mit
setBluetoothDevicePairingConfirmationEnabled. -
Setze Datum und Uhrzeit mit
setDateTime. -
Setze die Größe des Displays mit
setDisplaySize. -
Konfiguriere WiFi mit CSV mit
setEloNetworkConf. -
Setze die Schriftgröße mit
setFontSize. -
Aktiviere oder deaktiviere den Leerlaufmodus mit
setIdleModeEnabled. -
Aktiviere oder deaktiviere den Standort mit
setLocationEnabled. -
Stummschalte oder hebe die Stummschaltung des Mikrofons mit
setMicrophoneMuteEnabled. -
Aktiviere oder deaktiviere die Passwortsichtbarkeit mit
setPasswordEnabled. -
Aktiviere oder deaktiviere Play Protect mit
setPlayProtect. -
Setze und hole den reservierten Log-Speicher mit
setReservedLogSpaceundgetReservedLogSpace. -
Setze das Zeitformat mit
setTimeFormatEnabled. -
Aktiviere oder deaktiviere Berührungstöne mit
setTouchSoundEnabled. -
Setze die Lautstärkepegel mit
setVolumeLevel. -
Aktiviere oder deaktiviere das Menü für die Textauswahl mit
setShowTextEditorShareMenuEnabled. -
Schalte das Gerät lautlos ab mit
silentShutDown. -
Setze den Standard-Launcher mit
setSilentDefaultLauncher. -
Hole den Firmware-Sperrstatus mit
getFirmwareStatusLockEnabled. -
Aktualisiere die Firmware des sicheren Prozessors mit
spFirmwareUpgrade. -
Starte eine Aktivität aus dem Vordergrunddienst mit
startActivityFromForegroundService. -
Aktiviere oder deaktiviere den Dunkelmodus mit
setDarkModeEnabled. -
Wecke den Bildschirm mit
wakeupScreen. -
Aktiviere oder deaktiviere den Ladegeräusch- und Vibrationsmodus mit
setChargingSoundAndVibrationEnabled. -
Aktiviere oder deaktiviere den Bildschirmverriegelungston mit
setScreenLockSoundEnabled. -
Aktiviere oder deaktiviere die Kachel für den Leerlaufmodus mit
setIdleModeTileEnabled. -
Hole und setze den Hostnamen mit
getHostNameundsetHostName. -
Aktiviere oder deaktiviere die Hotspot-Zugänglichkeit mit
setHotspotAccessibilityEnabledundgetHotspotAccessibilityEnabled. -
Hole die MD5-Prüfziffer mit
getMD5Checksum. -
Binde und entsperre den Systemdienst mit
bindServiceundunbindService.
isM60Device
public static boolean isM60Device()
Diese Methode wird verwendet, um die Gerätedrehung abzurufen.
Gibt zurück
Gerätdrehung, z. B. hochformat oder querformat.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.isM60Device();
Log.d(TAG, "OK: isM60Device result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: isM60Device", e);
}
isM50Device
public static boolean isM50Device()
Diese Methode wird verwendet, um die Gerätedrehung abzurufen.
Gibt zurück
Gerätedrehung, z. B. hochformat oder querformat.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.isM50Device();
Log.d(TAG, "OK: isM50Device result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: isM50Device", e);
}
isM100Device
public static boolean isM100Device()
Diese Methode wird verwendet, um die Gerätedrehung abzurufen.
Gibt zurück
Gerätedrehung, z. B. hochformat oder querformat.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.isM100Device();
Log.d(TAG, "OK: isM100Device result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: isM100Device", e);
}
is7PayDevice
public static boolean is7PayDevice()
Diese Methode wird verwendet, um die Gerätedrehung abzurufen.
Gibt zurück
Gerätedrehung, z. B. hochformat oder querformat.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.is7PayDevice();
Log.d(TAG, "OK: is7PayDevice result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: is7PayDevice", e);
}
isM51Device
public boolean isM51Device()
Diese Methode wird verwendet, um die Gerätedrehung abzurufen.
Gibt zurück
Gerätedrehung, z. B. hochformat oder querformat.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.isM51Device();
Log.d(TAG, "OK: isM51Device result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: isM51Device", e);
}
bindService
public void bindService(android.content.Context context, ServiceConnectionCallback callback, java.lang.String accessToken)
Diese Methode wird verwendet, um den Dienst zu binden, um auf die System-APIs zuzugreifen. Verwende diese Methode, um den Dienst zu binden, bevor du die System-APIs verwendest.
Parameter
- context – Kontext der Anwendung
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.bindService(context, callback, "accessToken");
Log.d(TAG, "OK: bindService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: bindService", e);
}
unbindService
public void unbindService(android.content.Context context)
Diese Methode wird verwendet, um den Dienst von der Anwendung zu trennen. Verwende diese Methode, um den Dienst von der Anwendung zu trennen, wenn du Ressourcen bereinigst.
Parameter
- context – Kontext der Anwendung
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.unbindService(context);
Log.d(TAG, "OK: unbindService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unbindService", e);
}
captureScreenShot
public boolean captureScreenShot(java.lang.String fileName)
Diese Methode wird verwendet, um einen Screenshot zu erstellen. Der Screenshot wird am Standort "/sdcard/elo/screenshot" gespeichert, und die Rückmeldungsnachricht enthält auch den Pfad des Screenshots.
Parameter
- fileName – Ein Dateiname im PNG-Format, z. B. "screenshot.png".
Gibt zurück
true, wenn der Screenshot erfolgreich erstellt wurde, andernfalls false.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.captureScreenShot("fileName");
Log.d(TAG, "OK: captureScreenShot result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: captureScreenShot", e);
}
setAccessibilityService
public void setAccessibilityService(java.lang.String packageName, boolean enableAccessibilityService)
Diese Methode wird verwendet, um Barrierefreiheitsdienste zu aktivieren oder zu deaktivieren.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setAccessibilityService("packageName", true);
Log.d(TAG, "OK: setAccessibilityService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setAccessibilityService", e);
}
setMultiClientImeEnabled
public boolean setMultiClientImeEnabled(boolean enable, boolean reboot)
Diese Methode wird verwendet, um Multi-Client-IME zu aktivieren oder zu deaktivieren. Nach der Anwendung wird das Gerät neu gestartet, um die Änderungen widerzuspiegeln.
Parameter
- enable – Ob die Funktion aktiviert oder deaktiviert werden soll.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setMultiClientImeEnabled(true, true);
Log.d(TAG, "OK: setMultiClientImeEnabled result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setMultiClientImeEnabled", e);
}
setWifiScanning
public void setWifiScanning(boolean enable)
Diese Methode wird verwendet, um das WiFi-Scannen zu aktivieren oder zu deaktivieren.
Parameter
- enable – Ob das WiFi-Scannen aktiviert oder deaktiviert werden soll.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setWifiScanning(true);
Log.d(TAG, "OK: setWifiScanning result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setWifiScanning", e);
}
setBluetoothScanning
public void setBluetoothScanning(boolean enable)
Diese Methode wird verwendet, um das Bluetooth-Scannen zu aktivieren oder zu deaktivieren.
Parameter
- enable – Ob das Bluetooth-Scannen aktiviert oder deaktiviert werden soll.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setBluetoothScanning(true);
Log.d(TAG, "OK: setBluetoothScanning result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setBluetoothScanning", e);
}
setKeyListener
public boolean setKeyListener(java.lang.String packageName, java.lang.String receiverName, java.util.ArrayList<java.lang.Integer> keys, java.util.ArrayList<java.lang.Boolean> intercept)
Diese Methode wird verwendet, um einen Key Event Listener zu registrieren, der in einem Hintergrundthread ausgeführt werden kann.
Parameter
- packageName – Name des Pakets, zu dem die Komponente des Key Listeners gehört.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setKeyListener("packageName", "receiverName", 0, 0);
Log.d(TAG, "OK: setKeyListener result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setKeyListener", e);
}
getMultiClientImeEnabled
public boolean getMultiClientImeEnabled()
Diese Methode wird verwendet, um den Status des aktivierten Multi-Client-IME abzurufen.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.getMultiClientImeEnabled();
Log.d(TAG, "OK: getMultiClientImeEnabled result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getMultiClientImeEnabled", e);
}
setDpi
public boolean setDpi(int DPI)
Diese Methode wird verwendet, um die Display-DPI einzustellen. Ein Neustart ist erforderlich, damit die Änderung wirksam wird.
Parameter
- DPI – Ganzzahl für die Bildschirmdichte (160, 240, 320, 480 oder 640).
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setDpi(0);
Log.d(TAG, "OK: setDpi result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setDpi", e);
}
setCFDDpi
public boolean setCFDDpi(int DPI)
Diese Methode wird verwendet, um die DPI des externen Displays einzustellen.
Parameter
- DPI – Ganzzahl für die Bildschirmdichte (160, 240, 320, 480 oder 640).
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setCFDDpi(0);
Log.d(TAG, "OK: setCFDDpi result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setCFDDpi", e);
}
setScreenSize
public boolean setScreenSize(int width, int height)
Diese Methode wird verwendet, um die Displayauflösung einzustellen.
Parameter
- width – Bildschirmbreite in Pixel.
- height – Bildschirmhöhe in Pixel.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setScreenSize(0, 0);
Log.d(TAG, "OK: setScreenSize result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setScreenSize", e);
}
setDisplaySize
public boolean setDisplaySize(java.lang.String size)
Diese Methode wird verwendet, um die Displaygröße einzustellen.
Parameter
- size – Stringwert, der die Displaygröße darstellt.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setDisplaySize("size");
Log.d(TAG, "OK: setDisplaySize result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setDisplaySize", e);
}
setFontSize
public boolean setFontSize(java.lang.String size)
Diese Methode wird verwendet, um die Schriftgröße einzustellen.
Parameter
- size – Stringwert, der die Schriftgröße darstellt.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setFontSize("size");
Log.d(TAG, "OK: setFontSize result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setFontSize", e);
}
setSmallestPixelWidth
public boolean setSmallestPixelWidth(int smallestWidth)
Diese Methode wird verwendet, um die kleinste Pixelbreite anzuzeigen, die in den Entwicklereinstellungen angezeigt wird.
Parameter
- smallestWidth – Ganzzahl für die kleinste Breite in Pixeln.
Beispiel
try {
// TODO: sicherstellen, dass der Dienst gebunden ist, bevor SDK-APIs aufgerufen werden
Object result = sdk.setSmallestPixelWidth(0);
Log.d(TAG, "OK: setSmallestPixelWidth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setSmallestPixelWidth", e);
}
getSmallestPixelWidth
<Please report any broken links by emailing support@elotouch.com and include a link to the knowledge article