지원되는 플랫폼: Android 12 및 Android 14 Elo 기기, Backpack 4 (Standard/Value), I-Series 4 (Standard/Value), I-Series Standard, M50, Elo Pay M60, Elo Pay 7”, Elo Pay 22", M100, M100C.
전체 참고 문서 (지식 기반 + SDK Javadoc)
API는 기능 클래스별(System, Network, Package 등)로 구성되어 있어 발견을 간소화하고 구현을 가속화합니다.
글로벌 모범 사례 (KB에서)
-
API를 호출하기 전에 항상 서비스에 바인딩하십시오.
onServiceConnected()가 수신될 때까지 메서드를 호출하지 마십시오. -
장치 정책이 로컬 설정을 재정의할 수 있다고 가정하십시오.
이는 특히 시간, 시간대, USB, 키오스크 모드 및 애플리케이션 설치에 해당됩니다. -
생산 환경에서 시간 동기화에 NTP를 사용하십시오.
테스트를 제외하고는 수동으로 시간을 구성하지 마십시오. -
재설정 동작을 이해하십시오.
-
Enterprise Reset는 Elo 설정 및 등록 상태를 초기화합니다.
-
Factory Reset는 모든 사용자 데이터를 지우고 장치를 초기 상태로 복원합니다.
-
-
모든 API 호출의 결과를 기록하십시오.
이는 문제 해결 및 에스컬레이션에 매우 중요합니다.
❗ 중요 사용 노트
일부 SDK API는 특정 Android 권한이 필요하며, 장치가 EloView 모드 또는 Android 홈 모드에 있는지에 따라 다르게 작동할 수 있습니다. 장치 정책 시행은 로컬에서 적용된 설정을 재정의할 수 있습니다. 개발자는 운영 애플리케이션에서 API를 호출하기 전에 장치 모드 및 권한 상태를 확인해야 합니다.
EloView Home SDK는 서비스 기반의 Android SDK로, 모든 API 호출이 실행되기 전에 서비스 바인딩이 성공적으로 이루어져야 합니다. 다음과 같은 경우 메서드는 null을 반환하거나 결과를 반환하지 않을 수 있습니다:
- 서비스가 아직 연결되지 않은 경우
- 장치가 호환 가능한 EloView 상태에 있지 않은 경우
- 정책 제한으로 인해 작업이 차단된 경우
이 가이드는 지원되는 및 일반적으로 사용되는 패턴에 중점을 두고 있습니다. 모든 Android 권한, 생명주기 엣지 케이스 또는 원시 SDK Javadoc에 기록된 내부 반환 상태를 열거하지 않습니다. 표준 Android 서비스 생명주기 처리 및 오류 검사는 운영 애플리케이션에서 구현되어야 합니다.
일반적인 실제 시나리오 (KB에서)
시나리오: 장치 등록 후 시간대가 부정확함
system.setNtpEnabled(true);
system.setNtpServer("time.aws.com");
system.setTimeZone("US/Central");
system.syncTimeNow();
// 검증
String tz = system.getTimeZone();
Log.d(TAG, "Timezone=" + tz);
팁: 재부팅 후 시간대가 되돌아가는 경우 Android 자동 시간대가 활성화되었는지 확인하고 장치 정책이 다른 지역을 다시 적용하지 않도록 합니다.
시나리오: 단일 앱 키오스크 모드를 안전하게 구성
pkg.setKioskApp("com.example.kiosk");
pkg.setKioskModeEnabled(true);
pkg.launchApp("com.example.kiosk");
경고: 운영 환경에서 키오스크 모드를 활성화하기 전에 항상 관리자의 도주 경로를 검증하십시오.
서비스 바인딩 템플릿 (KB에서)
eloView.bindService(context, callback, accessToken);
// 서비스 연결 후 SDK API 호출은 안전합니다
eloView.unbindService(context);
중요 참고: bindService() 및 unbindService()는 값을 반환하지 않습니다. SDK API는 onServiceConnected()가 호출된 후에만 호출해야 합니다.
핵심 / 서비스 바인딩 API
EloView
EloView 클래스는 다음과 같은 작업을 제공합니다:
- 장치가 오프라인이거나 계정에 등록되지 않은 경우 EloView 제어 모드에서 재생할 콘텐츠 설정 setOfflinePlayContent()을 사용합니다.
- EloView 제어 모드에서 현재 설정된 콘텐츠 유형 (APK 또는 WebView) 및 콘텐츠 이름을 getPlayContent()를 사용하여 검색합니다.
- EloView 제어 모드에서 구성된 콘텐츠의 현재 재생 상태를 getPlayContentStatus()를 사용하여 가져옵니다.
- 장치가 현재 EloView Cloud에 연결되었는지 (온라인 또는 오프라인) 확인 getDeviceCloudStatus()를 사용합니다.
- Elo QuickSettings와 Android Home 모드에서 Wi-Fi를 전환합니다 toggleWifi()를 사용합니다.
- Elo QuickSettings와 Android Home 모드에서 Bluetooth를 전환합니다 toggleBT()를 사용합니다.
bindService
public void bindService(android.content.Context context, ServiceConnectionCallback callback, java.lang.String accessToken)
이 메서드는 EloView 서비스를 애플리케이션에 바인딩합니다. 이 메서드는 모든 EloView API를 호출하기 전에 호출해야 합니다.
매개변수
- context – EloView API가 사용되는 컨텍스트입니다.
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 애플리케이션에서 서비스를 해제하는 데 사용됩니다. 리소스를 정리할 때 이 메서드를 사용하여 서비스의 바인딩을 해제합니다.
매개변수
- context – 컨텍스트
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 장치가 오프라인이거나 등록되지 않은 경우 EloView 제어 모드에서 콘텐츠를 설정하는 데 사용됩니다. 장치가 온라인 상태가 되고 EloView를 통해 콘텐츠가 설정되면, 이 API를 통해 설정된 콘텐츠를 재정의합니다.
매개변수
- packageName – 장치의 기본 콘텐츠로 설정될 패키지입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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()
이 메서드는 장치에 설정된 콘텐츠 유형 및 이름을 반환합니다. 이 메서드는 EloView 제어 모드에서만 작동합니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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()
이 메서드는 제어 모드에서 장치의 재생 콘텐츠 상태를 반환합니다. 상태는 다음 문자열 중 하나가 될 수 있습니다:
YET_TO_DOWNLOAD, DOWNLOADING, DOWNLOADED, INSTALLING, INSTALLED, DOWNLOAD_FAILED, INSTALL_FAILED, UNKNOWN_STATUS
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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()
이 메서드는 장치의 온라인 또는 오프라인 상태를 반환합니다. 상태는 다음 문자열 중 하나가 될 수 있습니다: "Online", "Offline", "Connecting", "Reconnecting", "Online (Not Provisioned)".
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
장치에서 Wi-Fi를 활성화하거나 비활성화합니다. 이는 EloView 모드와 Android 홈 모드 모두에 적용됩니다.
매개변수
- isEnableWifi – QuickSettings에서 WiFi를 활성화 또는 비활성화하는 부울 값입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 EloView 모드에서 Android 홈 모드로 전환하는 데 사용됩니다. 이 메서드는 isRebootNeeded 매개변수를 통해 모드 변경을 적용하기 위한 재부팅이 필요한지를 결정합니다. 초기화 없이 Android 홈 모드로 돌아갈 수 없으므로 주의해서 사용하십시오.
매개변수
- isRebootNeeded가 true로 설정된 경우 장치가 재부팅되어 모드 변경을 적용합니다.
- 중요 참고: Android 홈 모드로 전환하면 EloView 관리 제한 및 정책이 비활성화될 수 있습니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 QuickSettings(EloView 모드)에서 Bluetooth를 전환하는 데 사용됩니다. Android 홈 모드에서도 Bluetooth를 전환하는 데 사용할 수 있습니다.
매개변수
- isEnableBT – QuickSettings에서 Bluetooth를 활성화 또는 비활성화하는 부울 값입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.toggleBT(true);
Log.d(TAG, "OK: toggleBT result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: toggleBT", e);
}
계정 API
AccountManager
AccountManager 클래스는 다음과 같은 작업을 제공합니다:
1. 사용자가 제공한 자격 증명(emailId/password 또는 clientId/secretKey)을 기반으로 EloServer에서 인증 토큰을 제공합니다.
2. 주어진 인증 토큰이 유효한지 또는 만료되었는지 확인합니다. 인증 토큰은 EloView 서버에서 받은 토큰일 수도 있고 Elo 지원 팀에서 제공한 오프라인 JWT 토큰일 수도 있습니다. (오프라인 토큰은 애플리케이션의 패키지 이름을 사용하여 생성되며, 생성된 패키지에서만 사용할 수 있습니다.)
3. 모든 API는 작동하기 위해 오프라인 토큰이 필요하며 온라인 토큰과 함께 작동하지 않습니다. 유일한 예외는 OTA API입니다. OTA API는 EloView 서버에서 OTA를 적용할 때 온라인 토큰이 필요합니다. 커스텀 서버 URL 또는 장치의 로컬 파일을 통해 OTA를 적용하려면 오프라인 토큰을 사용할 수 있습니다.
예를 들어 인증 토큰을 가져오는 방법:
1. emailId와 password를 사용하여 getEloAccessToken을 호출합니다. 2. clientId와 secretKey를 사용하여 getEloOAuthToken을 호출합니다. 인증이 성공적으로 이루어지면 이 메서드는 토큰을 반환합니다. 3. 오프라인 JWT 토큰의 경우 Elo 지원 팀에 문의하십시오.
서버에서 또는 지원 팀에서 받은 토큰은 verifyEloToken 메서드를 사용하여 검증합니다.
이러한 AccountManager API에서 사용하는 브로드캐스트 수신기를 unregisterAccountManagerListener 메서드를 사용하여 onPause 및 onDestroy 메서드에서 등록 해제해야 합니다. 이렇게 하면 누수가 방지됩니다.
getProperty
public static java.lang.String getProperty()
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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()
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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()
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 Elo 서버에서 액세스 토큰을 가져오는 데 사용됩니다.
매개변수
- context – 호출 클래스(Activity 또는 Service)의 컨텍스트 개체입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 OAuth Hosted UI를 초기화하는 데 사용됩니다.
매개변수
- activity – 호출 클래스의 Activity 인스턴스입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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()
activity의 onStop() 오버라이드 메서드에서 stopOAuth를 호출하십시오.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.stopOAuth();
Log.d(TAG, "OK: stopOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: stopOAuth", e);
}
destroyOAuth
public void destroyOAuth()
activity의 onStop() 오버라이드 메서드에서 destroyOAuth를 호출하십시오.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.destroyOAuth();
Log.d(TAG, "OK: destroyOAuth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: destroyOAuth", e);
}
logoutOAuth
public void logoutOAuth()
로그인 세션을 종료하려면 logoutOAuth를 호출합니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 함수는 Elo 서버에 주어진 토큰을 검증하도록 요청합니다. 검증이 성공하면 핸들러는 TOKEN_VERIFY_SUCCESS 유형의 메시지를 받습니다. 실패 시에는 TOKEN_VERIFY_FAIL이 수신됩니다.
매개변수
- context – 호출 클래스(Activity 또는 Service)의 컨텍스트 개체입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 EloView Portal에 새로운 OAuth 토큰을 요청하는 데 사용됩니다. 인증이 성공적으로 이루어지면 토큰이 장치로 전송됩니다. 이 토큰은 발급 후 24시간 동안 사용할 수 있습니다. 토큰이 만료되면 후속적으로 토큰을 검증하고 API를 호출하려는 시도가 TOKEN_VERIFY_FAIL 응답을 받습니다. 토큰이 확보되거나 수신되지 않았을 경우에도 동일합니다.
성공하면 핸들러는 JWT 토큰이 포함된 OAUTH_TOKEN_VALID 유형의 메시지를 수신합니다. 아래는 성공적인 응답의 예입니다:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlJQTSJ9.eyJ1ZW1haWwiOiJwcmF0YXBlbG8rUHJvZEBnbWFpbC5jb20iLCJvdGl0bGUiOiJwcmF0YXBlbG8rUHJvZEBnbWFpbC5jb20iLCJjYXAiOnsiY3JjIjoiSDIvb2RnIiwicGVybSI6ImZmZmZmZmYwMCJ9LCJpYXQiOjE1MjUxMTc4NDgsIm5iZiI6MTUyNTExNzg0OCwiZXhwIjoxNTI1MjA0MjQ4LCJpc3MiOiIxNTAyIiwic3ViIjoiZWVhNDRkY2JkMjU5YzQyOWY4NTA3YWZhNTQyY2Q3M2YiLCJqdGkiOiJ2ZE14N1ppUGVnWT0ifQ.b2e-F1mVh0ummkBJk3m8pT2qSCceRxuS_A9GAKtYBeo"
잘못된 clientID 또는 secretID로 인해 인증 실패가 발생할 경우 핸들러는 OAUTH_TOKEN_INVALID 유형의 메시지를 수신합니다.
매개변수
- context – 호출 클래스(Activity 또는 Service)의 컨텍스트 개체입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 AccountManager API를 사용할 때 등록된 브로드캐스트 수신기를 등록 해제하는 데 사용됩니다. 이 API를 사용한 경우 누수가 방지되도록 activity의 onPause 및 onDestroy 메서드에서 이 메서드를 호출해야 합니다.
매개변수
- context – 시스템 API가 사용된 컨텍스트입니다.
- context – 계정 관리Listener를 등록 해제하는 데 사용된 Android 컨텍스트입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.getEnvironment(context);
Log.d(TAG, "OK: getEnvironment result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getEnvironment", e);
}
TokenListener
TokenListener는 AuthenticationToken 검증 이벤트를 듣고, 유효한 토큰이 있는 경우 추가 작업을 수행하기 위한 성공 응답을 제공합니다.
이 유형에 대한 문서화된 메서드는 없습니다.
시스템 API
ServiceConnectionCallback
onServiceConnected
void onServiceConnected()
이 메서드는 bindService 호출 후 서비스가 연결되었을 때 호출됩니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.onServiceConnected();
Log.d(TAG, "OK: onServiceConnected result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: onServiceConnected", e);
}
onServiceDisconnected
void onServiceDisconnected()
이 메서드는 서비스가 분리되었을 때 호출됩니다. 이 메서드는 unbindService를 사용하여 서비스가 바인딩 해제될 경우 호출되지 않습니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.onServiceDisconnected();
Log.d(TAG, "OK: onServiceDisconnected result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: onServiceDisconnected", e);
}
시스템
시스템 클래스는 다음과 같은 작업을 제공합니다:
-
getEloAccessToken를 사용하여 인증 토큰을 가져옵니다. -
captureScreenShot을 사용하여 장치의 스크린샷을 캡처합니다. -
setOrientation를 사용하여 장치 방향(세로, 가로, 반전 세로, 반전 가로)을 설정합니다. -
getOrientation을 사용하여 장치 방향을 가져옵니다. -
factoryReset를 사용하여 장치를 공장 초기화합니다. -
silentReboot를 사용하여 장치를 조용히 재부팅합니다. -
setNavigationBarEnabled를 사용하여 내비게이션 막대를 활성화하거나 비활성화합니다. -
setStatusBarEnabled를 사용하여 상태 막대를 활성화하거나 비활성화합니다. -
setGrantAllAppPermissionEnabled를 사용하여 모든 런타임 권한을 부여합니다. -
getNavigationBarEnabled를 사용하여 내비게이션 바 상태를 가져옵니다. -
getStatusBarEnabled를 사용하여 상태 바 상태를 가져옵니다. -
getGrantAllAppPermissionEnabled를 사용하여 Grant All App Permission 상태를 가져옵니다. -
setBacklightTimeOut및getBacklightTimeOut를 사용하여 백라이트 시간 초과를 설정 및 가져옵니다. -
setLockScreenPassword및changeLockScreenPassword를 사용하여 잠금 화면 비밀번호를 설정 및 변경합니다. -
autoAllowUSBPermission를 사용하여 USB 권한을 자동으로 허용합니다. -
setFirmwareStatusLockEnabled를 사용하여 보안 프로세서 펌웨어 잠금을 잠금 또는 해제합니다. -
setWiFiEnabled및getWiFiEnabled를 사용하여 WiFi를 활성화하거나 비활성화하고 상태를 가져옵니다. -
clearAllAppCacheUserData및clearAppCacheUserData를 사용하여 애플리케이션 캐시 및 데이터를 지웁니다. -
setAdbEnabled를 사용하여 ADB를 활성화합니다. -
setDarkModeEnabled를 사용하여 다크 모드를 활성화하거나 비활성화합니다.
isM60Device
public static boolean isM60Device()
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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()
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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()
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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()
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.is7PayDevice();
Log.d(TAG, "OK: is7PayDevice result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: is7PayDevice", e);
}
isM51Device
public boolean isM51Device()
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 시스템 API에 접근하기 위해 서비스를 바인딩하는 데 사용됩니다. 이 메서드를 서비스에 바인딩하기 전에 사용합니다.
매개변수
- context – 애플리케이션의 컨텍스트
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 애플리케이션에서 서비스를 해제하는 데 사용됩니다. 리소스를 정리할 때 이 메서드를 사용하여 서비스의 바인딩을 해제합니다.
매개변수
- context – 애플리케이션의 컨텍스트
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 스크린샷을 캡처하는 데 사용됩니다. 스크린샷은 "/sdcard/elo/screenshot"에 저장되며, 반환 메시지에도 스크린샷의 경로가 포함됩니다.
매개변수
- fileName – PNG 형식의 파일 이름, 예: "screenshot.png".
반환값
스크린샷이 성공적으로 캡처되면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 접근성 서비스를 활성화하거나 비활성화하는 데 사용됩니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 다중 클라이언트 IME를 활성화하거나 비활성화하는 데 사용됩니다. 적용 후, 장치는 변경 사항을 반영하기 위해 재부팅됩니다.
매개변수
- enable – 기능을 활성화하거나 비활성화할지 여부입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 WiFi 스캔을 활성화하거나 비활성화하는 데 사용됩니다.
매개변수
- enable – WiFi 스캔을 활성화하거나 비활성화할지 여부입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 Bluetooth 스캔을 활성화하거나 비활성화하는 데 사용됩니다.
매개변수
- enable – Bluetooth 스캔을 활성화하거나 비활성화할지 여부입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 백그라운드 스레드에서 실행할 수 있는 키 이벤트 리스너를 등록하는 데 사용됩니다.
매개변수
- packageName – 키 리스너 구성 요소가 속한 패키지의 이름입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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()
이 메서드는 활성화된 다중 클라이언트 IME 상태를 가져오는 데 사용됩니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 디스플레이 DPI를 설정하는 데 사용됩니다. 변경 사항이 적용되려면 재부팅이 필요합니다.
매개변수
- DPI – 화면 밀도를 위한 정수 값 (160, 240, 320, 480, 또는 640).
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 외부 디스플레이 DPI를 설정하는 데 사용됩니다.
매개변수
- DPI – 화면 밀도를 위한 정수 값 (160, 240, 320, 480, 또는 640).
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 디스플레이 해상도를 설정하는 데 사용됩니다.
매개변수
- width – 픽셀 단위의 화면 너비입니다.
- height – 픽셀 단위의 화면 높이입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 디스플레이 크기를 설정하는 데 사용됩니다.
매개변수
- size – 디스플레이 크기를 나타내는 문자열 값입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 글꼴 크기를 설정하는 데 사용됩니다.
매개변수
- size – 글꼴 크기를 나타내는 문자열 값입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
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)
이 메서드는 개발자 옵션에서 표시되는 가장 작은 픽셀 너비를 설정하는 데 사용됩니다.
매개변수
- smallestWidth – 픽셀 단위의 가장 작은 너비의 정수 값입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.setSmallestPixelWidth(0);
Log.d(TAG, "OK: setSmallestPixelWidth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setSmallestPixelWidth", e);
}
getSmallestPixelWidth
public int getSmallestPixelWidth()
이 메서드는 개발자 옵션에서 표시되는 가장 작은 픽셀 너비를 가져오는 데 사용됩니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.getSmallestPixelWidth();
Log.d(TAG, "OK: getSmallestPixelWidth result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getSmallestPixelWidth", e);
}
setSilentDefaultLauncher
public boolean setSilentDefaultLauncher(java.lang.String packageName)
이 메서드는 기본 런처 애플리케이션을 조용히 설정하는 데 사용됩니다.
매개변수
- packageName – 런처 애플리케이션의 패키지 이름입니다.
반환값
성공적으로 기본 런처가 설정되면 true를, 그렇지 않으면 false를 반환합니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.setSilentDefaultLauncher("packageName");
Log.d(TAG, "OK: setSilentDefaultLauncher result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setSilentDefaultLauncher", e);
}
clearAppCacheUserData
public boolean clearAppCacheUserData(java.lang.String packageNames)
이 메서드는 지정된 애플리케이션의 캐시 및 사용자 데이터를 지우는 데 사용됩니다.
매개변수
- packageNames – 패키지 이름의 쉼표로 구분된 목록입니다.
반환값
캐시 및 사용자 데이터가 성공적으로 지워지면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.clearAppCacheUserData("packageNames");
Log.d(TAG, "OK: clearAppCacheUserData result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: clearAppCacheUserData", e);
}
clearAllAppCacheUserData
public boolean clearAllAppCacheUserData(java.lang.String packageNames)
이 메서드는 지정된 애플리케이션을 제외한 모든 애플리케이션의 캐시 및 사용자 데이터를 지우는 데 사용됩니다.
매개변수
- packageNames – 제외할 패키지 이름의 쉼표로 구분된 목록입니다.
반환값
캐시 및 사용자 데이터가 성공적으로 지워지면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.clearAllAppCacheUserData("packageNames");
Log.d(TAG, "OK: clearAllAppCacheUserData result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: clearAllAppCacheUserData", e);
}
setRandomWifiMacAddressEnabled
public void setRandomWifiMacAddressEnabled(boolean mac)
이 메서드는 무작위 WiFi MAC 주소를 활성화하거나 비활성화하는 데 사용됩니다.
매개변수
- mac – 무작위 MAC을 활성화하려면 true, 고정 MAC을 사용하려면 false입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.setRandomWifiMacAddressEnabled(true);
Log.d(TAG, "OK: setRandomWifiMacAddressEnabled result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setRandomWifiMacAddressEnabled", e);
}
setIdleModeEnabled
public void setIdleModeEnabled(boolean IdleMode)
이 메서드는 자동 아이들 모드를 활성화하거나 비활성화하는 데 사용됩니다.
매개변수
- IdleMode – 아이들 모드를 활성화하거나 비활성화하는 부울 값입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.setIdleModeEnabled(true);
Log.d(TAG, "OK: setIdleModeEnabled result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setIdleModeEnabled", e);
}
setIdleModeTileEnabled
public int setIdleModeTileEnabled(boolean enable)
이 메서드는 아이들 모드 타일을 활성화하거나 비활성화하는 데 사용됩니다. 이 메서드는 Android 홈 모드, GMS 모드 및 EloView Connect 모드에서만 작동합니다.
매개변수
- enable – 아이들 모드 타일을 활성화하거나 비활성화하는 부울 값입니다. 기본값은 활성화되어 있습니다.
반환값
IdleModeTileStatus (int): 0 = 성공, 1 = 실패, -1 = 지원되지 않음
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.setIdleModeTileEnabled(true);
Log.d(TAG, "OK: setIdleModeTileEnabled result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setIdleModeTileEnabled", e);
}
setNtpServerUrl
public void setNtpServerUrl(java.lang.String ntpUrl, boolean rebootRequired)
이 메서드는 NTP 서버 주소를 설정하는 데 사용됩니다. 적용되려면 재부팅이 필요합니다.
매개변수
- ntpUrl – NTP 서버 주소입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.setNtpServerUrl("ntpUrl", true);
Log.d(TAG, "OK: setNtpServerUrl result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setNtpServerUrl", e);
}
getNtpServerUrl
public java.lang.String getNtpServerUrl()
이 메서드는 설정된 NTP 서버 주소를 가져오는 데 사용됩니다.
반환값
NTP 서버 주소
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.getNtpServerUrl();
Log.d(TAG, "OK: getNtpServerUrl result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: getNtpServerUrl", e);
}
setPasswordEnabled
public void setPasswordEnabled(boolean state)
이 메서드는 입력 중에 비밀번호 표시 기능을 활성화하거나 비활성화하는 데 사용됩니다.
매개변수
- 상태 – 비밀번호를 표시할지(true) 또는 비밀번호 표시를 비활성화할지(false) 여부입니다.
예제
try {
// TODO: SDK API 호출 전에 서비스가 바인딩되었는지 확인하십시오
Object result = sdk.setPasswordEnabled(true);
Log.d(TAG, "OK: setPasswordEnabled result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setPasswordEnabled", e);
}
setMicrophoneMuteEnabled
public void setMicrophoneMuteEnabled(boolean state)
Please report any broken links by emailing support@elotouch.com and include a link to the knowledge article