Работа с устаревшим android.text.ClipboardManager - PullRequest
13 голосов
/ 09 ноября 2011

android.text.ClipboardManager устарело с уровня API 11 и заменено на android.content.ClipboardManager ( source ).

Как мне написать код, который поддерживает оба случая?Импорт android.content.ClipboardManager и использование этого работает в 11+, но принудительное закрытие в 10. Изменение импорта на android.text.ClipboardManager вызывает 11 предупреждений об устаревании в 11 +.

Как можно плавно обрабатывать оба случая?Что мне нужно импортировать?

Ответы [ 4 ]

7 голосов
/ 09 ноября 2011

В итоге я просто использовал старый способ (android.text.ClipboardManager и код этот ответ ) вместе с парой аннотаций @SuppressWarnings ("deprecation").

4 голосов
/ 06 мая 2012

Явно:

    @SuppressWarnings("deprecation")
    android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
    clipboard.setText(shareViaSMSBody);

Так как это должно продолжать работать на старых устройствах, вполне вероятно, что устаревший код не будет удален из Android.

3 голосов
/ 30 ноября 2015

Ссылаясь на этот ответ :

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");
}
1 голос
/ 09 октября 2014

Если вы все еще поддерживаете

 ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
 ClipData clip = ClipData.newPlainText("label for text", "text to copy");
 clipboard.setPrimaryClip(clip);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...