본문 바로가기

Android/기타

[Android] 백그라운드에서 클립보드 이용 시 주의사항

반응형

Android Q(10) 이상부터는 백그라운드에서 클립보드에 대한 데이터를 받아올 수가 없다. 기존 프로젝트에선 잘 돌아갔던 코드인데 타겟 SDK를 올리면서 클립보드 정보가 null로 오는 이슈가 발생했다. 원인을 찾아본 결과는 다음과 같다.

 

링크 설명에 의하면 앱이 IME 편집기이거나 혹은 현재 자신의 앱이 포커싱되어 있는 경우에만 클립보드 내용에 접근할 수 있다.

 

따라서 기존에 백그라운드에서 클립보드를 접근하는 로직이 있었다면 지금은 그렇게 구현하면 안 되고 해당 내용이 필요할 때 액티비티를 띄워 포커싱을 가져온 다음 클립보드를 주는 형태로 구현할 수는 있다.

 

포어그라운드일 때랑 백그라운드일 때를 구분해서 동작하게 하려는 의도는 뭔지 모르겠지만 구현상으로는 좀 로직이 더럽게 구현되는 것 같아 아쉽긴 하다.

 

https://developer.android.com/about/versions/10/privacy/changes#clipboard-data

반응형