Tratar con android.text.ClipboardManager obsoleto

android.text.ClipboardManager estaba obsoleto desde el nivel 11 de la API y se reemplazó con android.content.ClipboardManager ( fuente ).

¿Cómo puedo escribir código que soporte ambos casos? Importación android.content.ClipboardManager y el uso que funciona en 11 + pero la fuerza se cierra en 10. Cambiar la importación a android.text.ClipboardManager arroja un montón de advertencias de depreciación en 11 +.

¿Cómo puedo manejar ambos casos sin problemas? ¿Qué necesito importar?

Terminé usando la vieja manera (android.text.ClipboardManager y el código de esta respuesta ), junto con un par de anotaciones @SuppressWarnings ("deprecation").

Explícitamente:

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

Dado que esto tiene que seguir trabajando en dispositivos antiguos, es probable que el código obsoleto no se eliminará de Android.

Refiriéndose a esta respuesta :

 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"); } 

Si sigue apoyando <SDK 11, está haciendo demasiado trabajo. Establecer min a 15 y utilizar este código:

  ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); ClipData clip = ClipData.newPlainText("label for text", "text to copy"); clipboard.setPrimaryClip(clip); 
  • ¿Hay una manera de copiar desde el portapapeles en android en terminal?
  • OnPrimaryClipChangedListener se llama varias veces
  • Tamaño máximo del Portapapeles de Android
  • Establecer texto y obtener texto del portapapeles
  • Botón para copiar el valor de una cadena al portapapeles
  • Android Copiar y Pegar con TextView
  • ¿Hay alguna manera de escribir en el portapapeles desde javascript, en el navegador android?
  • Borrar TODAS las entradas del portapapeles
  • Servicio - escucha del portapapeles android
  • Copiar y pegar imagen en Android usando el Administrador del Portapapeles
  • Receptor de difusión de portapapeles android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.