10

私はAndroidでプログラムでテキストをコピーしようとしていますが、これらの行を提供する別の質問で最も投票された回答ですが、それらを使用するとエラーが発生します:クラスにはAPIレベル11が必要です(現在の最小値は8):

ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label", "Text to copy");
clipboard.setPrimaryClip(clip);

質問から直接行をコピーしました。試して みたところ、import android.content.ClipboardManager;テストimport android.text.ClipboardManager;しましたが、エラーが発生し、The method setPrimaryClip(ClipData) is undefined for the type ClipboardManagerClipboardManagerが非推奨になるという警告が表示されました。

Android 2.2(API 8だと思います)以降をサポートする私のアプリですが、Androidのすべてのバージョンで機能するようにテキストをコピーするにはどうすればよいですか?

4

1 に答える 1

30

次のようなものを使用してみてください。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
    final android.content.ClipboardManager clipboardManager = (android.content.ClipboardManager) context
            .getSystemService(Context.CLIPBOARD_SERVICE);
    final android.content.ClipData clipData = android.content.ClipData
            .newPlainText("text label", "text to clip");
    clipboardManager.setPrimaryClip(clipData);
} else {
    final android.text.ClipboardManager clipboardManager = (android.text.ClipboardManager) context
            .getSystemService(Context.CLIPBOARD_SERVICE);
    clipboardManager.setText("text to clip");
}
于 2013-01-07T03:45:32.920 に答える