내키지는 않지만, LG기기를 구분해야하는 케이스가 생겼다.

일반적으로 클립보드에 컨텐츠를 복사하는 코드는 다음과 같다.

ClipboardManager manager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("simple text", "Hello, World!");
manager.setPrimaryClip(clip);

일반적인 폰들에서는 모르겠는데, LG 기기들은 확실히 클립보드에 컨텐츠를 복사하면 오버레이 UI 또는 토스트가 노출 되었다.

내 경우에는 앱에서 특정 컨텐츠를 클립보드에 복사후, 복사 완료 안내 메시지를 토스트로 제공하고 있다. 타기기에서는 문제가 없었으나 LG기기에서는 앱내에서 내가 노출하는 토스트 이후 노출되는 또 다른 오버레이 UI나 별도의 토스트가 노출되었다.

LG 펌웨어 내 IClipboard 구현체에서 별도의 UI를 조작하거나 토스트를 띄우는 코드가 삽입된것으로 추측하고 있다.

토스트 및 클립보드 서비스를 제어할 수 없기 때문에 LG 디바이스를 구분하여 토스트를 노출하지 않는것으로 결정했다.

LG기기를 구분하는 방법은 다음과 같다.

public static boolean isHelLG(){
    return Build.BRAND!=null && Build.BRAND.equals("lge");
}

모델명의 접두어가 LG- 로 시작하는 점을 감안했으나 Vxx 모델은 LM- 으로 관리하길래 Brand명이 lge로 동일한것을 확인하고 브랜드가 lge면 LG기기로 구분하기로 결정했다.

카테고리: 미분류

1개의 댓글

here · 2019년 12월 3일 1:56 오후

wonderful points altogether, you simply received a
emblem new reader. What might you recommend in regards to your post that you made
some days in the past? Any sure?

답글 남기기

Avatar placeholder

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.