首页 > 系统 > Android > 正文

Android 剪切板

2019-11-06 09:36:10
字体:
来源:转载
供稿:网友
Android 中, 获取剪切板服务可以使用ClipboardManager cb = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);在 Android 3.0 之前, 只支持使用cb.setText(xxx); // 设置剪切板cb.getText(); // 获取剪切板内容cb.hasText(); // 判断剪切板是否含有内容在 Android 3.0 之后, 增加了 ClipData, 以下为 ClipData 的构造方法ClipData.newIntent(label, intent);ClipData.newUri(label, uri);ClipData.newPlainText(label, text);ClipData.newHtmlText(label, text, htmlText);ClipData.newRawUri(label, uri);剪切板的监听android.content.ClipboardManager.OnPRimaryClipChangedListener复制的内容// textClipData textCd = ClipData.newPlainText("label", "text"); cb.setPrimaryClip(textCd);// URIUri copyUri = Uri.parse("tel:100861"); ClipData uriCd = ClipData.newUri(getContentResolver(),"label",copyUri); cb.setPrimaryClip(uriCd); // IntentClipData intentCd = ClipData.newIntent("label", new Intent()); cb.setPrimaryClip(intentCd); 粘帖内容Item item = null;if(!cb.hasprimaryClip()){ // 剪贴板中无数据 return;}ClipDescription description = cb.getPrimaryClipDescription();if(description.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) { // Text ClipData cdText = cb.getPrimaryClip(); item = cdText.getItemAt(0); if(item.getText() == null){ // 剪贴板中无内容 return; } else { // item.getText() 获取剪切板的 Text }} else if (description.hasMimeType(ClipDescription.MIMETYPE_TEXT_INTENT)) { // Intent item = cb.getPrimaryClip().getItemAt(0); Intent intent = item.getIntent(); startActivity(intent);} else if (description.hasMimeType(ClipDescription.MIMETYPE_TEXT_URILIST)) { // URI ContentResolver cr = getContentResolver(); ClipData uriCd = cb.getPrimaryClip(); item = uriCd .getItemAt(0); Uri uri = item.getUri(); if(uri != null){ String mimeType = cr.getType(uri); if (mimeType != null) { if (mimeType.equals(MIME_TYPE_CONTACT)) { Cursor pasteCursor = cr.query(uri, null, null, null, null); if (pasteCursor != null) { if (pasteCursor.moveToFirst()) { // 此处对数据进行操作就可以了,前提是有权限 } } pasteCursor.close(); } } }}

参考地址: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/0223/901.html


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表