从API级别11开始,android.text.ClipboardManager就被废弃了,取而代之的是android.content.ClipboardManager (source)。
如何编写支持这两种情况的代码?导入android.content.ClipboardManager并使用它在11+中工作,但是在10中强制关闭。将导入更改为android.text.ClipboardManager会在11+中抛出一堆不推荐使用的警告。
我如何才能顺利地处理这两种情况?我需要导入什么?
发布于 2011-11-09 05:25:45
我最终只使用了老方法(android.text.ClipboardManager和来自this answer的代码),以及几个@SuppressWarning(“弃用”)注释。
发布于 2015-11-30 11:31:48
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");
}发布于 2012-05-06 05:25:55
明确地说:
@SuppressWarnings("deprecation")
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboard.setText(shareViaSMSBody);由于这必须在旧设备上继续工作,因此很可能不会从Android中删除不推荐使用的代码。
https://stackoverflow.com/questions/8056838
复制相似问题