[Android] 클립보드로 복사

클립보드로 복사


이것은 OS 표준 동작이며 문자열을 오랫동안 누르면 클립보드로 복사 여부의 UI가 화면에 표시됩니다.
다음은 여러분에게 익숙한 간식입니다.

그런데도 프로그램 내 특정 작업을 통해 클립보드로 복사 기능을 수행하려는 경우도 있죠.

샘플 코드


바로 이렇습니다. "클립보드 매니저"이라는 반이 있는데 이걸로 해결했습니다.
아래와 같이 사용하고 있습니다.
    /**
     * Copy to clipboard.
     *
     * @param context the context to use
     * @param label user-visible label for the clip data
     * @param text the actual text in the clip
     * @return result
     */
    public static void copyToClipboard(Context context, String label, String text) {
        // copy to clipboard
        ClipboardManager clipboardManager =
                (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
        if (null == clipboardManager) {
            return;
        }
        clipboardManager.setPrimaryClip(ClipData.newPlainText(label, text));
    }
ClipData.newPrinText의 매개변수 "text"는 복제 객체의 문자열입니다.
'label'이지만 필요한 개발자의 데이터만 참조하기 때문에 항상''(공백 문자)를 설정합니다.
이렇게 하면 전혀 문제없다.
그나저나 "label"을 설정해서
ClipData clipData = ClipData.newPlainText(label, text);
clipData.getDescription();
위에서 말한 바와 같이'Description'으로 얻을 수 있기 때문에 응용 프로그램에서 복사한 후에 어떤 처리를 하려고 할 때 효과적인 수단이다.
(※ "minSdkVersion21:Lolipop"을 전제로 한 샘플 코드)

참고 문장

  • What exactly is “label” parameter in ClipData in Android?
  • 샘플 응용 프로그램


    아래의 계산기 응용 프로그램에서'계산 결과'를 클릭하면 상기 샘플 코드의 처리가 실행되기 시작하므로 실제 다른 응용 프로그램으로 붙여서 참고하시기 바랍니다.

    간단한 계산기 교체 - 계산 프로세스 디스플레이와 공유 등 무료 계산기 -: CALCBOSS
    【동작 환경】
    Android OS 5.0 이상
    Made in Japan.
    © CUTBOSS
    Producer & Director, Boss of the Barber.
    Lead Programmer & Designer, Boss of the Barber.

    좋은 웹페이지 즐겨찾기