screen


screen은 3.0.0 버전 이상 부터 제공되며 해당 라이브러리를 추가하여 사용해야 된다.

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
}
DAPScreen.setBrightness(MainActivity.this, 50.0f, result -> {
       // TODO
   }, e -> {
       // TODO
   });

capture

capture은 3.7.13 버전 이상 부터 제공되며 해당 라이브러리를 추가하여 사용해야 된다.

capture 는 현재 구동중인 앱의 화면을 기준으로 이미지 파일을 생성하고 그 이미지 경로를 전달하도록 설계 되었으며 capture 이미지 내에 워터 마크를 추가할 수도 있다.
워터 마크가 추가되었을 경우에는 오른쪽 하단으로 위치가 고정되며 워터마크의 크기나 마진 값은 사용자가 워터 마크 이미지를 통해 조절할 수 있다.

capture 를 위해서 필요한 인자는 아래와 같으며 해당 인자는 Optional 한 값이므로 입력하지 않아도 무방하다.

스크린샷 2018-11-06 오전 10.42.38.png

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

CaptureParams

필드설명비고
quality이미지 퀄리티 값 (기본 100) 
viewcapture 대상이 되는 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())
DAPScreen.capture(CaptureParams.builder()
   .view(findViewById(getMainLayoutId()))
   .waterMarkPath(DAPScreen.convertWaterMarkPath(MainActivity.this, "main/icon.png"))
   .successCallback((result) -> {
       // TODO
   },
   .errorCallback(e -> {
       // TODO
   }).build());

Error Code

CodeCauseComment
E12400파라메터 값이 잘못되어 있을 경우 
E12401전달된 액션 값이 알 수 없는 액션일 경우 
E12402화면 밝기 값이 1~100 사이의 실수형값이 아닌 경우 
E12403워터마크 파일 경로가 잘못 되어 있는 경우 
E12450실행 중 오류가 발생 되었을 경우 
E12451요청한 비즈앱 경로가 잘못되어 있는 경우 
E12452워터마크 이미지 파일이 존재하지 않는 경우 
E12499알 수 없는 오류가 발생 되었을 경우