2011-11-08 7 views
7

android.text.ClipboardManagerはAPIレベル11以降廃止予定であり、android.content.ClipboardManagersource)に置き換えられました。廃止予定のandroid.text.ClipboardManagerを扱う

両方のケースをサポートするコードを作成するにはどうすればよいですか? android.content.ClipboardManagerをインポートし、それを使用すると11+で動作しますが、強制的に終了します10. android.text.ClipboardManagerにインポートを変更すると、11+で廃止警告の束がスローされます。

どうすればスムーズに処理できますか?インポートするには何が必要ですか?

答えて

6

古い方法(android.text.ClipboardManagerとthis answerのコード)と@SuppressWarnings( "deprecation")アノテーションを組み合わせて使用​​しました。明示的に

+1

を..? –

4

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

これは古いデバイス上で作業を続ける必要があるため、非推奨のコードは、Androidから削除されません可能性が高いです。

0

まだSDK 11をサポートしている場合は、あまりにも多くの作業をしています。 15分を設定し、このコードを使用:

ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
ClipData clip = ClipData.newPlainText("label for text", "text to copy"); 
clipboard.setPrimaryClip(clip); 
+0

よく、私のgfは古いkindleを使用するので、sdk 15は選択肢ではありません – codingpuss

2

this answerを参照:非推奨溶液について次に何

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"); 
} 
関連する問題