ページ

2014/12/30

[Android]テキストをクリップボードにコピーする

wada811/Android-Material-Design-Colorsサンプルアプリを作ったら
カラーコードをコピーしたいという要望があったので実装しました。

Honeycomb 未満と以上で方法が変わっていました。
クラス名は同じでパッケージが異なるだけだったので長ったらしくてちょっとアレです。

@SuppressWarnings("deprecation")
public void copyText(Context context, String text){
    if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB){
        android.text.ClipboardManager clipboard = (android.text.ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);
        clipboard.setText(text);
    }else{
        android.content.ClipboardManager clipboard = (android.content.ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);
        ClipData clip = ClipData.newPlainText("Copied Text", text);
        clipboard.setPrimaryClip(clip);
    }
}
Android: Copy to clipboard selected text from a TextView - Stack Overflow