Java tutorial
//package com.java2s; /******************************************************************************* * Copyright 2007 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ import android.annotation.SuppressLint; import android.content.ClipData; import android.content.ClipDescription; import android.content.ClipboardManager; import android.content.Context; public class Main { public static final String EMPTY_STRING = ""; /** * * @param context The context, required to get the Cliboard System Service. * @param oldAPI Set to true when running API level lower than Honeycomb * @return The last text copied to the clipboard by the user. */ public static String getLastClip(final Context context, boolean oldAPI) { final String clip; if (oldAPI) { clip = getTextFromClipboard(context); } else { clip = getItemFromCliboard(context); } return clip; } /** * This is only called when we are on API level < Honeycomb * @param context The context, required to get the Cliboard System Service. * @return Returns the latest text copied to the clipboard by the user */ @SuppressWarnings("deprecation") private static String getTextFromClipboard(final Context context) { android.text.ClipboardManager manager = (android.text.ClipboardManager) context .getSystemService(Context.CLIPBOARD_SERVICE); String text = (String) manager.getText(); //Yep, that much simpler. if (text == null) text = EMPTY_STRING; return text; } /** * This is only called when we are on API level > Honeycomb * @param context The context, required to get the Cliboard System Service. * @return Returns the latest item added to the clipboard by the user, as long as the {@code MimeType} is {@code MIMETYPE_TEXT_PLAIN} */ @SuppressLint("NewApi") public static String getItemFromCliboard(final Context context) { ClipboardManager manager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); final ClipData data = manager.getPrimaryClip(); if (data == null) { //If no data on clipboard, let's call it a day. return EMPTY_STRING; } final String clipItem; if (data.getDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) { ClipData.Item item = data.getItemAt(0); clipItem = item.getText().toString(); } else { clipItem = EMPTY_STRING; } return clipItem; } }