Ondersteunde Platforms: Android 12 en Android 14 Elo-apparaten, waaronder Backpack 4 (Standaard/Waarde), I-Series 4 (Standaard/Waarde), I-Series Standaard, M50, Elo Pay M60, Elo Pay 7”, Elo Pay 22", M100, M100C.
Volledige Referentie (Kennisbank + SDK Javadoc)
API's zijn georganiseerd op functionele klasse (Systeem, Netwerk, Pakket, enz.) om de ontdekking te vereenvoudigen en de implementatie te versnellen.
Wereldwijde Best Practices (uit KB)
-
Bind altijd aan de service voordat je een API aanroept.
Roep geen methoden aan totdatonServiceConnected()is ontvangen. -
Ga ervan uit dat het apparaatbeleid lokaal ingestelde instellingen kan negeren.
Dit geldt vooral voor tijd, tijdzone, USB, kioskmodus en applicatie-installatie. -
Gebruik NTP voor tijdsynchronisatie in productie.
Vermijd handmatige tijdsconfiguratie, behalve voor testen. -
Begrijp de resetgedraging.
-
Enterprise Reset wist de Elo-configuratie en inschrijvingsstatus.
-
Fabrieksreset wist alle gebruikersgegevens en brengt het apparaat terug naar de staat bij levering.
-
-
Log het resultaat van elke API-aanroep.
Dit is cruciaal voor probleemoplossing en escalatie.
❗ Belangrijke Gebruiksnotities
Sommige SDK API's vereisen specifieke Android machtigingen en kunnen zich anders gedragen afhankelijk van of het apparaat zich in EloView-modus of Android Home-modus bevindt. Handhaving van het apparaatbeleid kan lokaal toegepaste instellingen negeren. Ontwikkelaars moeten de apparaatsmodus en de machtigingsstatus valideren voordat ze API's aanroepen in productieapplicaties.
De EloView Home SDK is een service-gebaseerde Android SDK en vereist een succesvolle servicebinding voordat enige API-aanroepen kunnen worden uitgevoerd. Methoden kunnen null of geen resultaat retourneren als:
- De service is nog niet verbonden
- Het apparaat bevindt zich niet in een compatibele EloView status
- Beleidsbeperkingen blokkeren de operatie
Deze gids richt zich op ondersteunde en algemeen gebruikte patronen. Het somt niet elke Android-machtiging, levenscyclusrandgeval of interne retourstatus op die is gedocumenteerd in de ruwe SDK Javadoc. Standaard Android-service-levenscyclusbehandeling en foutcontroles moeten worden geïmplementeerd in productieapplicaties.
Veelvoorkomende Scenario's (uit KB)
Scenario: Tijdzone onjuist na apparaatsinschrijving
system.setNtpEnabled(true);
system.setNtpServer("time.aws.com");
system.setTimeZone("US/Central");
system.syncTimeNow();
// Verifiëren
String tz = system.getTimeZone();
Log.d(TAG, "Tijdzone=" + tz);
Tip: Als de tijdzone terugvalt na een herstart, controleer dan of de automatische tijdzone van Android is ingeschakeld en dat het apparaatbeleid geen andere regio opnieuw toepast.
Scenario: Veilig instellen van kioskmodus voor één app
pkg.setKioskApp("com.example.kiosk");
pkg.setKioskModeEnabled(true);
pkg.launchApp("com.example.kiosk");
Waarschuwing: Valideer altijd een administratief escape pad voordat je de kioskmodus in productie inschakelt.
Service Binding Sjabloon (uit KB)
eloView.bindService(context, callback, accessToken);
// Veilig om SDK API's binnen callback.onServiceConnected() aan te roepen
eloView.unbindService(context);
Belangrijke opmerking: bindService() en unbindService() geven geen waarden terug. SDK API's mogen alleen worden aangeroepen nadat onServiceConnected() is aangeroepen.
Kern / Service Binding API's
EloView
De EloView klasse biedt de volgende bewerkingen:
- Stel de inhoud in die op het apparaat moet worden afgespeeld in EloView Controlemodus wanneer het apparaat offline is of niet geregistreerd is op een account met behulp van setOfflinePlayContent().
- Haal het type inhoud (APK of WebView) en de naam van de inhoud die momenteel is ingesteld in EloView Controlemodus met behulp van getPlayContent().
- Verkrijg de huidige afspeelstatus van de geconfigureerde inhoud in EloView Controlemodus met behulp van getPlayContentStatus().
- Controleer of het apparaat momenteel verbonden is met EloView Cloud (online of offline) met behulp van getDeviceCloudStatus().
- Schakel Wi-Fi in Elo QuickSettings en Android Home-modus in met behulp van toggleWifi().
- Schakel Bluetooth in Elo QuickSettings en Android Home-modus in met behulp van toggleBT().
bindService
public void bindService(android.content.Context context, ServiceConnectionCallback callback, java.lang.String accessToken)
Deze methode bindt de EloView-service aan de applicatie. Je moet dit aanroepen voordat je enige EloView API's aanroept.
Parameters
- context – Context waarin de EloView API's worden gebruikt.
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.bindService(context, callback, "accessToken");
Log.d(TAG, "OK: bindService resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: bindService", e);
}
unbindService
public void unbindService(android.content.Context context)
Deze methode wordt gebruikt om de service van de applicatie te ontbinden. Gebruik deze methode om de service van de applicatie te ontbinden bij het vrijmaken van middelen.
Parameters
- context – Context
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.unbindService(context);
Log.d(TAG, "OK: unbindService resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unbindService", e);
}
setOfflinePlayContent
public java.lang.String setOfflinePlayContent(java.lang.String packageName)
Deze methode wordt gebruikt om inhoud op het apparaat in EloView Controlemodus in te stellen wanneer het apparaat offline is of niet geregistreerd is op een account. Als het apparaat online komt en inhoud wordt ingesteld via EloView, wordt het inhoud ingesteld via deze API overschreven.
Parameters
- packageName – Pakket dat moet worden ingesteld als standaardinhoud op het apparaat.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.setOfflinePlayContent("packageName");
Log.d(TAG, "OK: setOfflinePlayContent resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setOfflinePlayContent", e);
}
getPlayContent
public java.lang.String getPlayContent()
Deze methode retourneert het type inhoud en de naam van de ingesteld inhoud op het apparaat. Deze methode werkt alleen in EloView Controlemodus.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getPlayContent();
Log.d(TAG, "OK: getPlayContent resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getPlayContent", e);
}
getPlayContentStatus
public java.lang.String getPlayContentStatus()
Deze methode retourneert de status van speelinhoud op het apparaat in Controlemodus. De status kan een van de volgende strings zijn:
YET_TO_DOWNLOAD, DOWNLOADING, DOWNLOADED, INSTALLING, INSTALLED, DOWNLOAD_FAILED, INSTALL_FAILED, UNKNOWN_STATUS
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getPlayContentStatus();
Log.d(TAG, "OK: getPlayContentStatus resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getPlayContentStatus", e);
}
getDeviceCloudStatus
public java.lang.String getDeviceCloudStatus()
Deze methode retourneert de online of offline status van het apparaat. De status kan een van de volgende strings zijn: "Online", "Offline", "Connecting", "Reconnecting", "Online (Not Provisioned)".
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getDeviceCloudStatus();
Log.d(TAG, "OK: getDeviceCloudStatus resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getDeviceCloudStatus", e);
}
toggleWifi
void toggleWifi(boolean isEnableWifi)
Schakelt Wi-Fi in of uit op het apparaat. Dit is van toepassing in zowel EloView-modus als Android Home-modus.
Parameters
- isEnableWifi – Boolean voor het inschakelen of uitschakelen van Wi-Fi in QuickSettings.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.toggleWifi(true);
Log.d(TAG, "OK: toggleWifi resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: toggleWifi", e);
}
switchToAndroidHomeMode
void switchToAndroidHomeMode() void switchToAndroidHomeMode(boolean isRebootNeeded, boolean isAndroidHomeMode)
Deze methode wordt gebruikt om over te schakelen naar de Android Home-modus vanuit de EloView-modus. Dit is hetzelfde als switchToAndroidHomeMode() behalve dat het twee boolean-parameters accepteert. Er is geen manier om terug te schakelen naar de EloView-modus zonder een fabrieksreset, dus gebruik dit met voorzichtigheid.
Parameters
- Schakelt het apparaat van de EloView-modus naar de Android Home-modus.
- Als isRebootNeeded op true is ingesteld, wordt het apparaat opnieuw opgestart om de wijziging van modus toe te passen.
- Belangrijke opmerking: Overschakelen naar de Android Home-modus kan beperkingen en beleidsregels die door EloView worden beheerd, uitschakelen.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.switchToAndroidHomeMode(true, true);
Log.d(TAG, "OK: switchToAndroidHomeMode resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: switchToAndroidHomeMode", e);
}
toggleBT
public int toggleBT(boolean isEnableBT)
Deze methode wordt gebruikt om Bluetooth in QuickSettings (EloView-modus) in en uit te schakelen. Het kan ook worden gebruikt om Bluetooth in de Android Home-modus in en uit te schakelen.
Parameters
- isEnableBT – Boolean voor het inschakelen of uitschakelen van Bluetooth in QuickSettings.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.toggleBT(true);
Log.d(TAG, "OK: toggleBT resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: toggleBT", e);
}
Account API's
AccountManager
De AccountManager klasse biedt de volgende bewerkingen:
1. Bied een authentificatietoken van een EloServer op basis van de door de gebruiker verstrekte inloggegevens (emailId/wachtwoord of clientId/secretKey).
2. Verifieer of een gegeven authentificatietoken geldig is of is verlopen. Het authentificatietoken kan de token zijn die van de EloView-server is verkregen of het kan een offline JWT-token zijn dat door het Elo Support-team is verstrekt. (Het offline token wordt gegenereerd met de pakketnaam van je toepassing en kan alleen worden gebruikt met de pakket waarvoor het is gegenereerd.)
3. Alle API's vereisen een offline-token om te werken en zullen niet werken met een online token. De enige uitzondering zijn OTA API's. OTA API's vereisen de online-token bij het toepassen van de OTA van een EloView server. Voor het toepassen van OTA via een aangepaste server-URL of vanuit een lokaal bestand op het apparaat, kan het offline token worden gebruikt.
Bijvoorbeeld, om een authentificatietoken te krijgen:
1. Gebruik emailId en wachtwoord, roep getEloAccessToken aan. 2. Gebruik clientId en secretKey, roep getEloOAuthToken aan. Na succesvolle authenticatie, zullen deze methoden een token retourneren. 3. Voor het offline JWT-token, neem contact op met het Elo Support-team.
Het token dat van de server of het ondersteuningsteam is opgehaald, wordt gevalideerd met behulp van de methode verifyEloToken.
Deregistreer de broadcast-ontvangers die door deze AccountManager API's worden gebruikt met behulp van de methode unregisterAccountManagerListener in de onPause- en onDestroy-methoden van de activiteiten waarin je deze API's gebruikt om lekken te voorkomen.
getProperty
public static java.lang.String getProperty()
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getProperty();
Log.d(TAG, "OK: getProperty resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getProperty", e);
}
setProperty
public void setProperty(java.lang.String property)
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.setProperty("property");
Log.d(TAG, "OK: setProperty resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setProperty", e);
}
getClientId
public static java.lang.String getClientId()
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getClientId();
Log.d(TAG, "OK: getClientId resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getClientId", e);
}
getBaseUri
public static android.net.Uri getBaseUri()
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getBaseUri();
Log.d(TAG, "OK: getBaseUri resultaat=" + 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)
Deze methode wordt gebruikt om een toegangstoken van de Elo-server te verkrijgen.
Parameters
- context – Een contextobject van de aanroeping klasse (Activiteit of Service).
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getEloAccessToken(context, "userEmail", "password", handler);
Log.d(TAG, "OK: getEloAccessToken resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEloAccessToken", e);
}
configureOAuthHostedUI
public void configureOAuthHostedUI(android.app.Activity activity, android.os.Handler handler)
Deze methode wordt gebruikt om de OAuth Hosted UI te initialiseren.
Parameters
- activity – Een Activity-instantie van de aanroepende klasse.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.configureOAuthHostedUI(activity, handler);
Log.d(TAG, "OK: configureOAuthHostedUI resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: configureOAuthHostedUI", e);
}
stopOAuth
public void stopOAuth()
Roep stopOAuth aan in de onStop() override-methode van de activiteit.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.stopOAuth();
Log.d(TAG, "OK: stopOAuth resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: stopOAuth", e);
}
destroyOAuth
public void destroyOAuth()
Roep destroyOAuth aan in de onStop() override-methode van de activiteit.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.destroyOAuth();
Log.d(TAG, "OK: destroyOAuth resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: destroyOAuth", e);
}
logoutOAuth
public void logoutOAuth()
Roep logoutOAuth aan om de huidige inlogsessie te beëindigen.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.logoutOAuth();
Log.d(TAG, "OK: logoutOAuth resultaat=" + 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)
Deze functie vraagt de Elo-server om het opgegeven token te verifiëren. Na succesvolle verificatie, ontvangt de handler een bericht van het type TOKEN_VERIFY_SUCCESS. Bij falen, TOKEN_VERIFY_FAIL zal worden ontvangen.
Parameters
- context – Een contextobject van de aanroepende klasse (Activiteit of Service).
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.verifyEloToken(context, "accessToken", handler);
Log.d(TAG, "OK: verifyEloToken resultaat=" + 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)
Deze methode wordt gebruikt om de EloView Portal om een nieuw OAuth-token te vragen. Na succesvolle authenticatie, wordt een token naar het apparaat gestuurd. Dit token is geldig voor gebruik gedurende 24 uur nadat het is uitgegeven. Wanneer het token verloopt, zullen verdere pogingen om het token te verifiëren en API's aan te roepen de TOKEN_VERIFY_FAIL reactie ontvangen. Hetzelfde geldt als er nooit een token is verkregen of ontvangen.
Bij succes, ontvangt de handler een bericht van het type OAUTH_TOKEN_VALID met een JWT-token als reactie. Hieronder is een voorbeeld van een succesvolle reactie:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlJQTSJ9.eyJ1ZW1haWwiOiJwcmF0YXBlbG8rUHJvZEBnbWFpbC5jb20iLCJvdGl0bGUiOiJwcmF0YXBlbG8rUHJvZEBnbWFpbC5jb20iLCJjYXAiOnsiY3JjIjoiSDIvb2RnIiwicGVybSI6ImZmZmZmZmYwMCJ9LCJpYXQiOjE1MjUxMTc4NDgsIm5iZiI6MTUyNTExNzg0OCwiZXhwIjoxNTI1MjA0MjQ4LCJpc3MiOiIxNTAyIiwic3ViIjoiZWVhNDRkY2JkMjU5YzQyOWY4NTA3YWZhNTQyY2Q3M2YiLCJqdGkiOiJ2ZE14N1ppUGVnWT0ifQ.b2e-F1mVh0ummkBJk3m8pT2qSCceRxuS_A9GAKtYBeo"
In geval van een authenticatiefout door een verkeerd clientID of secretID, zal de handler een bericht van het type OAUTH_TOKEN_INVALID ontvangen.
Parameters
- context – Een contextobject van de aanroepende klasse (Activiteit of Service).
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getEloOAuthToken(context, "clientID", "secret", handler);
Log.d(TAG, "OK: getEloOAuthToken resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEloOAuthToken", e);
}
unregisterAccountManagerListener
public void unregisterAccountManagerListener(android.content.Context context)
Deze methode wordt gebruikt om de broadcastontvanger te deregistreren die is geregistreerd tijdens het gebruik van een van de AccountManager API's. Zorg ervoor dat je dit aanroept in de onPause- en onDestroy-methoden in je activiteit levenscyclus als je gebruik hebt gemaakt van een van de AccountManager API's. Dit zorgt ervoor dat de ontvanger niet lekt.
Parameters
- context – Context waarin de systeem-API's zijn gebruikt.
- context – Android-context die wordt gebruikt om de accountmanager-ontvanger deregistreren.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.unregisterAccountManagerListener(context);
Log.d(TAG, "OK: unregisterAccountManagerListener resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unregisterAccountManagerListener", e);
}
getDefaultEnvironment
public void setDefaultEnvironment(android.content.Context ctx)
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.setDefaultEnvironment(context);
Log.d(TAG, "OK: setDefaultEnvironment resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setDefaultEnvironment", e);
}
selectEnvironment
public void selectEnvironment(android.content.Context ctx, java.lang.String prop, boolean isSealed)
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.selectEnvironment(context, "prop", true);
Log.d(TAG, "OK: selectEnvironment resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: selectEnvironment", e);
}
isPolarisLocked
public boolean isPolarisLocked(android.content.Context context)
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.isPolarisLocked(context);
Log.d(TAG, "OK: isPolarisLocked resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: isPolarisLocked", e);
}
getEnvironment
public java.lang.String getEnvironment(android.content.Context ctx)
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getEnvironment(context);
Log.d(TAG, "OK: getEnvironment resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEnvironment", e);
}
isPolaris
public boolean isPolaris(android.content.Context context)
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.isPolaris(context);
Log.d(TAG, "OK: isPolaris resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: isPolaris", e);
}
TokenListener
TokenListener luistert naar verificatie-evenementen van AuthenticationToken en, bij een geldig token, biedt de succesreactie om verdere bewerkingen uit te voeren.
Geen methoden zijn gedocumenteerd voor dit type.
Systeem API's
ServiceConnectionCallback
onServiceConnected
void onServiceConnected()
Deze methode wordt aangeroepen wanneer de service is verbonden na het aanroepen van bindService.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.onServiceConnected();
Log.d(TAG, "OK: onServiceConnected resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: onServiceConnected", e);
}
onServiceDisconnected
void onServiceDisconnected()
Deze methode wordt aangeroepen wanneer de service is losgekoppeld. Dit zal niet worden aangeroepen als de service is ontbonden met behulp van unbindService.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.onServiceDisconnected();
Log.d(TAG, "OK: onServiceDisconnected resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: onServiceDisconnected", e);
}
Systeem
De Systeemklasse biedt de volgende bewerkingen:
-
Verkrijg een authenticatietoken met behulp van
getEloAccessToken. -
Leg de schermafbeelding vast met behulp van
captureScreenShot. -
Stel de apparaatoriëntatie (portret, liggend, omgekeerd-portret, omgekeerd-liggend)
in met behulp van
setOrientation. -
Verkrijg de apparaatoriëntatie met behulp van
getOrientation. -
Voer een fabrieksreset van het apparaat uit met behulp van
factoryReset. -
Start het apparaat stilletjes opnieuw op met behulp van
silentReboot. -
Schakel de Navigatiebalk in of uit met behulp van
setNavigationBarEnabled. -
Schakel de Statusbalk in of uit met behulp van
setStatusBarEnabled. -
Geef alle runtime-machtigingen met behulp van
setGrantAllAppPermissionEnabled. -
Verkrijg de Status van de Navigatiebalk met behulp van
getNavigationBarEnabled. -
Verkrijg de Status van de Statusbalk met behulp van
getStatusBarEnabled. -
Verkrijg de Status van de Grant All App Permission met behulp van
getGrantAllAppPermissionEnabled. -
Stel en verkrijg weerlichtime-out met behulp van
setBacklightTimeOutengetBacklightTimeOut. -
Stel en wijzig het wachtwoord voor het vergrendelscherm met behulp van
setLockScreenPasswordenchangeLockScreenPassword. -
Stel en wijzig de pincode van het vergrendelscherm met behulp van
setLockScreenPinenchangeLockScreenPin. -
Start de activiteiten vanuit een achtergrondservice met behulp van
startActivityFromForegroundService.
getDeviceInfo
public org.json.JSONObject getDeviceInfo()
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getDeviceInfo();
Log.d(TAG, "OK: getDeviceInfo resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getDeviceInfo", e);
}
getSystemCpuUsage
public org.json.JSONObject getSystemCpuUsage()
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getSystemCpuUsage();
Log.d(TAG, "OK: getSystemCpuUsage resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getSystemCpuUsage", e);
}
registerDeviceInfoReceiver
public int registerDeviceInfoReceiver(android.content.Context ctx, android.content.BroadcastReceiver deviceInfoReceiver)
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.registerDeviceInfoReceiver(context, deviceInfoReceiver);
Log.d(TAG, "OK: registerDeviceInfoReceiver resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: registerDeviceInfoReceiver", e);
}
Certificaat Configuratie
getClientId
public java.lang.String getClientId()
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getClientId();
Log.d(TAG, "OK: getClientId resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getClientId", e);
}
setClientId
public void setClientId(java.lang.String clientId)
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.setClientId("clientId");
Log.d(TAG, "OK: setClientId resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setClientId", e);
}
Netwerk API's
Netwerk
Netwerkklasse biedt de volgende functies:
- setNetwork – Verbind met een door de gebruiker gedefinieerde netwerkconfiguratie.
- getNetwork – Verkrijg informatie over het huidige netwerk, zoals netwerknaam, type, IP-adres en MAC-adres.
- getWiFiMac – Retourneer het Wi-Fi MAC-adres.
- getEthernetMac – Retourneer het Ethernet MAC-adres.
- installCertificate – Stuur de EST-certificaatconfiguratie aanvraag en genereer gebruikers- en CA-certificaten.
- removeCertificate – Verwijder EST-gebruikers- en CA-certificaten.
- installLocalCertificate – Installeer lokale Wi-Fi-certificaten wanneer het apparaat offline is.
- setEthState – Zet de Ethernet-poorten aan of uit.
- getDHCPServerHostName – Verkrijg de DHCP-serverhostnaam.
- unregisterCertificatesListener – Deregistreer de broadcast-ontvanger die is geregistreerd tijdens certificaatinstallatie.
- readSystemProperty – Lees een systeemproperty.
readSystemProperty
public java.lang.String readSystemProperty(java.lang.String key)
Lees systeemproperty
Parameters
key
- sleutel van systeemproperty
Returns
waarde van systeemproperty
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.readSystemProperty("key");
Log.d(TAG, "OK: readSystemProperty resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: readSystemProperty", e);
}
setNetwork
public void setNetwork(android.content.Context context, java.lang.String accessToken, NetworkConfig networkConfig, android.os.Handler handler)
Stel het netwerk in
Parameters
- context – Een contextobject van de aanroepende klasse (Activiteit / Service).
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.setNetwork(context, accessToken, networkConfig, handler);
Log.d(TAG, "OK: setNetwork resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setNetwork", e);
}
setNetwork (met disableEthernet)
public void setNetwork(android.content.Context context, java.lang.String accessToken, NetworkConfig networkConfig, android.os.Handler handler, java.lang.Boolean disableEthernet)
Stel het netwerk in (met ethernet uitgeschakeld)
Parameters
- context – Een contextobject van de aanroepende klasse (Activiteit / Service).
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.setNetwork(context, accessToken, networkConfig, handler, disableEthernet);
Log.d(TAG, "OK: setNetwork resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setNetwork", e);
}
getNetwork
public void getNetwork(android.content.Context context, java.lang.String accessToken, android.os.Handler handler)
Haal het netwerk op
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getNetwork(context, accessToken, handler);
Log.d(TAG, "OK: getNetwork resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getNetwork", e);
}
getEthState
public boolean getEthState()
Haal de Ethernet status op
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getEthState();
Log.d(TAG, "OK: getEthState resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEthState", e);
}
setEthState
public void setEthState(boolean state)
Stel de Ethernet status in
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.setEthState(true);
Log.d(TAG, "OK: setEthState resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setEthState", e);
}
unregisterCertificatesListener
public void unregisterCertificatesListener(android.content.Context context)
Deregistreer de listener voor certificaten.
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.unregisterCertificatesListener(context);
Log.d(TAG, "OK: unregisterCertificatesListener resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unregisterCertificatesListener", e);
}
getWiFiMac
public java.lang.String getWiFiMac()
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getWiFiMac();
Log.d(TAG, "OK: getWiFiMac resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getWiFiMac", e);
}
getEthernetMac
public java.lang.String getEthernetMac()
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getEthernetMac();
Log.d(TAG, "OK: getEthernetMac resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEthernetMac", e);
}
getDHCPServerHostName
public java.lang.String getDHCPServerHostName()
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.getDHCPServerHostName();
Log.d(TAG, "OK: getDHCPServerHostName resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getDHCPServerHostName", e);
}
setNetmask
public java.lang.String setNetmask(NetworkConfig networkConfig, java.lang.String netmask)
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.setNetmask(networkConfig, "netmask");
Log.d(TAG, "OK: setNetmask resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setNetmask", e);
}
installCertificate
public void installCertificate(android.content.Context context, ESTConfig estConfig, android.os.Handler handler)
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.installCertificate(context, estConfig, handler);
Log.d(TAG, "OK: installCertificate resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: installCertificate", e);
}
removeCertificate
public boolean removeCertificate(java.lang.String alias)
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.removeCertificate("alias");
Log.d(TAG, "OK: removeCertificate resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: removeCertificate", e);
}
installLocalCertificate
public boolean installLocalCertificate(android.content.Context context, CertificateConfig certificateConfig)
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.installLocalCertificate(context, certificateConfig);
Log.d(TAG, "OK: installLocalCertificate resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: installLocalCertificate", e);
}
bindService
public void bindService(android.content.Context context, ServiceConnectionCallback callback, java.lang.String accessToken)
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.bindService(context, callback, "accessToken");
Log.d(TAG, "OK: bindService resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: bindService", e);
}
Pakketten & Apps API's
Pakket
De Pakket klasse biedt de volgende bewerkingen:
-
Installeer een APK-bestand stilletjes zonder enige gebruikersinteractie met behulp van
silentPackageInstall. -
Verwijder een pakket stilletjes zonder enige gebruikersinteractie met behulp van
silentPackageUninstall. -
Stel de pakketnaam en machtiging in met behulp van
setPackageNameAndPermission. -
Schakel een pakket stilletjes in met behulp van
enablePackage. -
Schakel een pakket stilletjes uit met behulp van
disablePackage. -
Stop een gegeven pakket met behulp van
stopPackage. -
Neem de machtigingen van het gegeven pakket in de whitelist op met behulp van
setWhitelistAppPermission(geeft automatisch runtime-machtigingen tijdens installatie). -
Verwijder whitelisted pakketten met behulp van
clearWhitelistAppPermission. -
Verwijder alle whitelisted pakketten met behulp van
clearAllWhitelistAppPermission. -
Schakel of maak whitelistrules in met behulp van
enableWhitelistPackages. -
Schakel whitelistrules uit met behulp van
disableWhitelistPackages. -
Controleer of een pakket is ingeschakeld of uitgeschakeld met behulp van
getPackageStatus. -
Start en pin een app automatisch bij elke herstart met behulp van
setAppAutostartPinned. -
Verwijder de auto-start ingepinde status met behulp van
removeAppAutoStartPinned. -
Verkrijg de ingepinde app-status met behulp van
getAppAutoStartPinnedStatus. -
Lees systeemproperties met
readSystemProperty. -
Schakel de Instellingen-app in of uit met behulp van
setSettingsPackageEnabled. -
Deregistreer pakketinstallatieluisteraars met behulp van
unregisterPackageInstallAPIListener. -
Deregistreer pakkettenstatusluisteraars met behulp van
unregisterPackageStatusChangeListener. -
Deregistreer pakketuninstallers met behulp van
unregisterPackageUninstallAPIListener.
Application Install Voorbeeld
-
Push de APK naar het apparaat:
adb push /sdcard/example.apk -
Verkrijg een authentificatietoken met behulp van
getEloAccessToken. -
Installeer de applicatie met
silentPackageInstall.- Het proces kan tot een minuut duren.
- Een installatieluisteraar ontvangt statusupdates.
- De installatieluisteraar wordt automatisch afgemeld bij succes.
readSystemProperty
public java.lang.String readSystemProperty(java.lang.String key)
Lees systeemproperty
Parameters
key
- sleutel van systeemproperty
Returns
waarde van systeemproperty
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.readSystemProperty("key");
Log.d(TAG, "OK: readSystemProperty resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: readSystemProperty", e);
}
enableWhitelistPackages
public boolean enableWhitelistPackages(android.content.Context
context,
java.lang.String json,
android.os.Handler handler)
Deze methode wordt gebruikt om regels in te stellen voor het in- of uitschakelen van pakketten. Hierdoor wordt er een lijst gemaakt voor de pakketten die op het apparaat in- of uitgeschakeld zullen worden.
Parameters
context
- Een contextobject van de aanroepende Klasse (Activiteit/Service).
Returns
boolean true als de whitelistregelwijziging succesvol is gestart, false als de invoer ongeldig is
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.enableWhitelistPackages(context, "json", handler);
Log.d(TAG, "OK: enableWhitelistPackages resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: enableWhitelistPackages", e);
}
disableWhitelistPackages
public boolean disableWhitelistPackages(android.content.Context
context,
android.os.Handler handler)
Deze methode wordt gebruikt om de whitelistingregels voor pakketten uit te schakelen.
Parameters
context
- Een contextobject van de aanroepende Klasse (Activiteit/Service).
Returns
boolean true als de wijziging van de whitelistregel succesvol is gestart, false als de invoer ongeldig is
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.disableWhitelistPackages(context, handler);
Log.d(TAG, "OK: disableWhitelistPackages resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: disableWhitelistPackages", e);
}
silentPackageInstall
public boolean silentPackageInstall(android.content.Context
context,
java.lang.String accessToken,
java.lang.String uri,
android.os.Handler handler)
Deze methode wordt gebruikt om een APK stilletjes op de achtergrond te installeren. Registreert een BroadcastReceiver om de installatie van apk te notificeren als succesvol of niet.
Parameters
context
- Een contextobject van de aanroepende klasse (Activiteit/Service).
Returns
boolean true als de installatie van het pakket succesvol is gestart, false als de invoer ongeldig is
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.silentPackageInstall(context, accessToken, uri, handler);
Log.d(TAG, "OK: silentPackageInstall resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: silentPackageInstall", e);
}
silentPackageUninstall
public boolean silentPackageUninstall(android.content.Context
context,
java.lang.String accessToken,
java.lang.String packageName,
android.os.Handler handler)
Deze methode wordt gebruikt om een pakket stilletjes op de achtergrond te verwijderen. Registreert een luisteraar voor de status van de pakketverwijdering.
Parameters
context
- Een contextobject van de aanroepende klasse (Activiteit/Service).
Voorbeeld
try {
// TODO: zorg ervoor dat de service is gebonden voordat je SDK API's aanroept
Object result = sdk.silentPackageUninstall(context, accessToken, packageName, handler);
Log.d(TAG, "OK: silentPackageUninstall resultaat=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: silentPackageUninstall", e);
}
stopPackage
public boolean stopPackage(android.content.Context
context,
java.lang.String packageName)
Deze methode wordt gebruikt om een actief pakket te stoppen.
Parameters
context
- Een contextobject van de aanroepende klasse (Activiteit/Service).
Instructions
boolean true als het beëindigen van het pakketcommando succesvol was, anders false
Voorbeeld
<Please report any broken links by emailing support@elotouch.com and include a link to the knowledge article