android.content.ClipboardManager#getPrimaryClip ( )源码实例Demo

下面列出了android.content.ClipboardManager#getPrimaryClip ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: SimpleProject   文件: VerificationCodeLayout.java
@Override
public boolean onTextContextMenuItem(int id) {
	if (id == android.R.id.paste) {
		ClipboardManager cm = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
		if (cm == null) {
			return super.onTextContextMenuItem(id);
		}

		ClipData clipData = cm.getPrimaryClip();
		if (clipData != null && clipData.getItemCount() > 0) {
			String content =  clipData.getItemAt(0).coerceToText(getContext()).toString();
			if (listener != null) {
				listener.onPaste(content);
			}
		}
	}

	return super.onTextContextMenuItem(id);
}
 
源代码2 项目: 365browser   文件: SelectionPopupController.java
@VisibleForTesting
public boolean canPasteAsPlainText() {
    // String resource "paste_as_plain_text" only exist in O.
    // Also this is an O feature, we need to make it consistant with TextView.
    if (!BuildInfo.isAtLeastO()) return false;
    if (!mCanEditRichlyForPastePopup) return false;
    ClipboardManager clipMgr =
            (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE);
    if (!clipMgr.hasPrimaryClip()) return false;

    ClipData clipData = clipMgr.getPrimaryClip();
    ClipDescription description = clipData.getDescription();
    CharSequence text = clipData.getItemAt(0).getText();
    boolean isPlainType = description.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN);
    // On Android, Spanned could be copied to Clipboard as plain_text MIME type, but in some
    // cases, Spanned could have text format, we need to show "paste as plain text" when
    // that happens.
    if (isPlainType && (text instanceof Spanned)) {
        Spanned spanned = (Spanned) text;
        if (hasStyleSpan(spanned)) return true;
    }
    return description.hasMimeType(ClipDescription.MIMETYPE_TEXT_HTML);
}
 
源代码3 项目: ProjectX   文件: ClipboardHelper.java
/**
 * 粘贴
 *
 * @param context Context
 * @return 数据,可能为空
 */
public <T> T paste(Context context) {
    if (mMatcher == null)
        return null;
    final ClipboardManager manager = (ClipboardManager)
            context.getSystemService(Context.CLIPBOARD_SERVICE);
    if (manager == null)
        return null;
    final ClipData clip = manager.getPrimaryClip();
    if (clip == null)
        return null;
    if (clip.getItemCount() <= 0)
        return null;
    final ClipData.Item item = clip.getItemAt(0);
    final Uri uri = item.getUri();
    if (uri == null)
        return null;
    final int index = mMatcher.match(uri);
    final Adapter<?> adapter = getAdapter(index);
    if (adapter == null)
        return null;
    return onPaste(context, clip, adapter);
}
 
源代码4 项目: youtube-dl-android   文件: MainActivity.java
public void pasteFromClipboard(View button) {
    ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
    if (clipboard != null && clipboard.hasPrimaryClip()) {
        ClipData clipData = clipboard.getPrimaryClip();
        Uri uri;
        CharSequence url;
        if ( clipData != null && clipData.getItemCount() > 0 ) {
            if ((uri = clipData.getItemAt(0).getUri()) != null) {
                urlEdit.setText(uri.toString());
            }
            else if ((url = clipData.getItemAt(0).getText()) != null ) {
                urlEdit.setText(url.toString());
            }
            startPoint(button);
        }
    }
}
 
@Override
public void importTheme() {
    ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
    if (clipboard != null) {
        // If it does contain data, decide if you can handle the data.
        if (!clipboard.hasPrimaryClip()) {
            Snackbar.make(coordinatorLayout, R.string.no_data_in_clipboard, Snackbar.LENGTH_SHORT).show();
        } else if (clipboard.getPrimaryClipDescription() != null &&
                !clipboard.getPrimaryClipDescription().hasMimeType(MIMETYPE_TEXT_PLAIN)) {
            // since the clipboard has data but it is not plain text
            Snackbar.make(coordinatorLayout, R.string.no_data_in_clipboard, Snackbar.LENGTH_SHORT).show();
        } else if (clipboard.getPrimaryClip() != null) {
            ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0);
            String json = item.getText().toString();
            try {
                CustomTheme customTheme = new Gson().fromJson(json, CustomTheme.class);
                checkDuplicateAndImportTheme(customTheme, true);
            } catch (JsonSyntaxException e) {
                Snackbar.make(coordinatorLayout, R.string.parse_theme_failed, Snackbar.LENGTH_SHORT).show();
            }
        }
    }
}
 
源代码6 项目: Tok-Android   文件: SystemUtils.java
public static CharSequence getLastClipContent(Context context) {
    ClipboardManager clipboard =
        (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
    ClipData clipData = clipboard.getPrimaryClip();
    if (clipData != null) {
        ClipData.Item item = clipData.getItemAt(0);
        if (item != null) {
            return item.coerceToText(context);
        }
    }

    return null;
}
 
源代码7 项目: android-common   文件: ClipboardUtil.java
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public static String getLatestText(Context context) {
    ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
    ClipData clip = clipboard.getPrimaryClip();
    if (clip != null && clip.getItemCount() > 0) {
        return String.valueOf(clip.getItemAt(0).coerceToText(context));
    }
    return null;
}
 
源代码8 项目: a   文件: SourceEditPresenter.java
@Override
public void pasteSource() {
    ClipboardManager clipboard = (ClipboardManager) mView.getContext().getSystemService(Context.CLIPBOARD_SERVICE);
    ClipData clipData = clipboard != null ? clipboard.getPrimaryClip() : null;
    if (clipData != null && clipData.getItemCount() > 0) {
        setText(String.valueOf(clipData.getItemAt(0).getText()));
    }
}
 
源代码9 项目: zone-sdk   文件: ClipboardUtil.java
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public static String getText(Context context, int index) {
    ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
    ClipData clip = clipboard.getPrimaryClip();
    if (clip != null && clip.getItemCount() > index) {
        return String.valueOf(clip.getItemAt(0).coerceToText(context));
    }
    return null;
}
 
源代码10 项目: Last-Launcher   文件: LauncherActivity.java
public Map<String, Integer> clipboardData() {
    Map<String, Integer> result = null;
    // Log.d(TAG, "clipboardData: ");
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        try {
            ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
            ClipData clipData = clipboardManager.getPrimaryClip();
            if (clipData.getItemCount() > 0) {
                ClipData.Item item = clipData.getItemAt(0);
                String tabSepratedData = item.getText().toString();
                //Log.d(TAG, "clipboardData: " + tabSepratedData);
                //validate tabSepratedData and get its data
                //unique id bae73ae068dacc6cb659d1fb231e7b11 i.e LastLauncher-ColorSniffer MD5-128

                String[] line = tabSepratedData.split("\n");//get each line

                Map<String, Integer> colorsAndId = new ArrayMap<>(); // map to put all values in key and values format
                // iterate over every line
                for (String entry : line) {
                    String[] activityIdAndColor = entry.split("\t");// split line into id and color
                    int color = Color.parseColor(activityIdAndColor[1]);
                    colorsAndId.put(activityIdAndColor[0], color);// put id and color to map

                    //   Log.d(TAG, "clipboardData: app:" + activityIdAndColor[0] + "  color==" + color);

                }
                setAppsColorFromClipboard(colorsAndId);
                result = colorsAndId;// return map
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    // return empty null/
    return result;
}
 
源代码11 项目: clipboard   文件: ClipboardModule.java
@ReactMethod
public void getString(Promise promise) {
  try {
    ClipboardManager clipboard = getClipboardService();
    ClipData clipData = clipboard.getPrimaryClip();
    if (clipData != null && clipData.getItemCount() >= 1) {
      ClipData.Item firstItem = clipboard.getPrimaryClip().getItemAt(0);
      promise.resolve("" + firstItem.getText());
    } else {
      promise.resolve("");
    }
  } catch (Exception e) {
    promise.reject(e);
  }
}
 
源代码12 项目: openinwa   文件: MainFragment.java
private void setNumberFromClipBoard() {
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
        ClipboardManager clipboardManager = android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M ? (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE) : (ClipboardManager) getView().getContext().getSystemService(Context.CLIPBOARD_SERVICE);
        ClipData clipData = clipboardManager.getPrimaryClip();
        if (clipData.getItemCount() > 0) {
            ClipData.Item item = clipData.getItemAt(0);
            String text = item.getText().toString();
            //text='+'+text.replaceAll("/[^0-9]/", "");
            mPhoneInput.setPhoneNumber(text);
           // isFromClipBoard = true;
        }
    }

}
 
源代码13 项目: HaoReader   文件: SourceEditPresenterImpl.java
@Override
public void pasteSource() {
    ClipboardManager clipboard = (ClipboardManager) mView.getContext().getSystemService(Context.CLIPBOARD_SERVICE);
    ClipData clipData = clipboard != null ? clipboard.getPrimaryClip() : null;
    if (clipData != null && clipData.getItemCount() > 0) {
        setText(String.valueOf(clipData.getItemAt(0).getText()));
    }
}
 
@ReactMethod
public void get(Callback cb) {
    try {
        ReactApplicationContext reactContext = getReactApplicationContext();

        ClipboardManager clipboard = (ClipboardManager)reactContext.getSystemService(reactContext.CLIPBOARD_SERVICE);

        android.content.ClipData clipData = clipboard.getPrimaryClip();

        if(clipData == null){
            cb.invoke("");
            return;
        }

        if (clipData.getItemCount() >= 1) {
            ClipData.Item clipDataItem = clipboard.getPrimaryClip().getItemAt(0);

            String data = "" + clipDataItem.getText();

            cb.invoke(data);
        } else {
            cb.invoke("");
            return;
        }

    } catch(Exception e) {
        Log.w("ClipboardAndroid", "Error in GET operation: " + e.getMessage());
    }
}
 
源代码15 项目: QPM   文件: ClipboardUtils.java
/**
 * 获取剪贴板的意图
 *
 * @return 剪贴板的意图
 */
public static Intent getIntent() {
    ClipboardManager cm = (ClipboardManager) Utils.getApp().getSystemService(Context.CLIPBOARD_SERVICE);
    //noinspection ConstantConditions
    ClipData clip = cm.getPrimaryClip();
    if (clip != null && clip.getItemCount() > 0) {
        return clip.getItemAt(0).getIntent();
    }
    return null;
}
 
源代码16 项目: mongol-library   文件: MongolEditText.java
public void pasteText() {
    Context context = getContext();
    ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
    if (clipboard == null) return;
    ClipData clip = clipboard.getPrimaryClip();
    if (clip == null) return;
    ClipData.Item item = clip.getItemAt(0);
    if (item == null) return;
    CharSequence text = item.getText();
    if (text == null) return;
    int start = getSelectionStart();
    int end = getSelectionEnd();
    mTextStorage.replace(start, end, text);
}
 
源代码17 项目: Android-UtilCode   文件: ClipboardUtils.java
/**
 * 获取剪贴板的uri
 *
 * @return 剪贴板的uri
 */
public static Uri getUri() {
    ClipboardManager clipboard = (ClipboardManager) Utils.getContext().getSystemService(Context.CLIPBOARD_SERVICE);
    ClipData clip = clipboard.getPrimaryClip();
    if (clip != null && clip.getItemCount() > 0) {
        return clip.getItemAt(0).getUri();
    }
    return null;
}
 
源代码18 项目: PowerFileExplorer   文件: ClipboardManagerUtil.java
public static boolean hasText() {
    android.text.ClipboardManager clipboardManager = ServiceUtil.getClipboardManager();
    if (APILevel.require(11)) {
        ClipboardManager cm = (ClipboardManager) clipboardManager;
        ClipDescription description = cm.getPrimaryClipDescription();
        ClipData clipData = cm.getPrimaryClip();
        return clipData != null
                && description != null
                && (description.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN));
    } else {
        return clipboardManager.hasText();
    }
}
 
源代码19 项目: Study_Android_Demo   文件: ClipboardInterface.java
public static CharSequence getText(Context context) {
  ClipboardManager clipboard = getManager(context);
  ClipData clip = clipboard.getPrimaryClip();
  return hasText(context) ? clip.getItemAt(0).coerceToText(context) : null;
}
 
源代码20 项目: Study_Android_Demo   文件: ClipboardInterface.java
public static boolean hasText(Context context) {
  ClipboardManager clipboard = getManager(context);
  ClipData clip = clipboard.getPrimaryClip();
  return clip != null && clip.getItemCount() > 0;
}