내키지는 않지만, 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기기로 구분하기로 결정했다.

Buy me a coffeeBuy me a coffee
카테고리: Android

0개의 댓글

답글 남기기

이메일은 공개되지 않습니다.