screen
Contents
screen 은 HSP 에서 확장 라이브러리로 제공하는 API 로 aar 라이브러리 파일과 build.gradle 파일을 수정하여 사용할 수 있다.
라이브러리 추가 방법은 Android 개발 가이드의 내용을 참조하면 된다.
screen 은 화면의 밝기를 조절하는 기능을 가지고 있으며 Optional 한 기능이므로 사용자가 별도로 개발하여 사용해도 무방하다.
setBrightness
setBrightness 는 1~100 범위로 밝기를 설정할 수 있다. 단말의 SDK 이 23 이상일 경우 '시스템 쓰기 설정 허용' 을 활성화 하여야지만 올바르게 동작하므로 해당 옵션창이 먼저 나타나게 된다.
options
필드 | 설명 | M/O |
---|---|---|
level | 화면 밝기 값(1 ~ 100%) | M |
Example
DAPScreen.setBrightness(this@MainActivity, 50.0f, {
// TODO
}) {
// TODO
}
// TODO
}) {
// TODO
}
DAPScreen.setBrightness(MainActivity.this, 50.0f, result -> {
// TODO
}, e -> {
// TODO
});
// TODO
}, e -> {
// TODO
});
capture
capture 는 현재 구동중인 앱의 화면을 기준으로 이미지 파일을 생성하고 그 이미지 경로를 전달하도록 설계 되었으며 capture 이미지 내에 워터 마크를 추가할 수도 있다.
워터 마크가 추가되었을 경우에는 오른쪽 하단으로 위치가 고정되며 워터마크의 크기나 마진 값은 사용자가 워터 마크 이미지를 통해 조절할 수 있다.
capture 를 위해서 필요한 인자는 아래와 같으며 해당 인자는 Optional 한 값이므로 입력하지 않아도 무방하다.
CaptureParams Class
public final class CaptureParams {
public final int quality;
public final View view;
public final String fileName;
public final String resourcePath;
public final Bitmap waterMark;
public final ResultCallback<String> successCallback;
public final ResultCallback<HspError> errorCallback;
}
public final int quality;
public final View view;
public final String fileName;
public final String resourcePath;
public final Bitmap waterMark;
public final ResultCallback<String> successCallback;
public final ResultCallback<HspError> errorCallback;
}
CaptureParams
필드 | 설명 | 비고 |
---|---|---|
quality | 이미지 퀄리티 값 (기본 100) | |
view | capture 대상이 되는 view | |
fileName | 저장할 파일명 | |
resourcePath | 저장할 경로 | 절대 경로 - file:////sdcard/Android/data/com.hanwha.testhonemobile/files/www/com.hanwha.hspsample/icon.png 상대 경로 (비즈앱 아이디 내 하위 경로) - mark.png |
waterMark | 워터마크 | |
successCallback | 결과 전달 콜백 | |
errorCallback | 에러 전달 콜백 | |
Example
DAPScreen.capture(CaptureParams.builder()
.view(findViewById(getMainLayoutId()))
.waterMarkPath(DAPScreen.convertWaterMarkPath(this@MainActivity, "main/icon.png"))
.successCallback {
// TODO
}
.errorCallback {
// TODO
}.build())
.view(findViewById(getMainLayoutId()))
.waterMarkPath(DAPScreen.convertWaterMarkPath(this@MainActivity, "main/icon.png"))
.successCallback {
// TODO
}
.errorCallback {
// TODO
}.build())
DAPScreen.capture(CaptureParams.builder()
.view(findViewById(getMainLayoutId()))
.waterMarkPath(DAPScreen.convertWaterMarkPath(MainActivity.this, "main/icon.png"))
.successCallback((result) -> {
// TODO
},
.errorCallback(e -> {
// TODO
}).build());
.view(findViewById(getMainLayoutId()))
.waterMarkPath(DAPScreen.convertWaterMarkPath(MainActivity.this, "main/icon.png"))
.successCallback((result) -> {
// TODO
},
.errorCallback(e -> {
// TODO
}).build());
Error Code
Code | Cause | Comment |
---|---|---|
E12400 | 파라메터 값이 잘못되어 있을 경우 | |
E12401 | 전달된 액션 값이 알 수 없는 액션일 경우 | |
E12402 | 화면 밝기 값이 1~100 사이의 실수형값이 아닌 경우 | |
E12403 | 워터마크 파일 경로가 잘못 되어 있는 경우 | |
E12450 | 실행 중 오류가 발생 되었을 경우 | |
E12451 | 요청한 비즈앱 경로가 잘못되어 있는 경우 | |
E12452 | 워터마크 이미지 파일이 존재하지 않는 경우 | |
E12499 | 알 수 없는 오류가 발생 되었을 경우 | |