这里首先需要注意的一点,就是在使用Android剪贴板的时候大家只记住一点就行了,不管是安卓设备还是PC机,复制粘贴在同一时间里只能用于一个对象上,整通俗点就是:PC机上,不可能同时从C盘复制,又从D盘复制就行了,具体的看代码,很简单,直接上代码:3FqHTML5中文学习网 - HTML5先行者学习网
3FqHTML5中文学习网 - HTML5先行者学习网
package com.xiaoma.clipboard.demo;
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 import android.app.Activity;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.content.ClipData;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.content.ClipData.Item;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.content.ClipDescription;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.content.ClipboardManager;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.content.ContentResolver;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.content.Intent;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.database.Cursor;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.net.Uri;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.os.Bundle;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.view.View;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.view.View.OnClickListener;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.widget.Button;
3FqHTML5中文学习网 - HTML5先行者学习网 import android.widget.Toast;
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 /**
3FqHTML5中文学习网 - HTML5先行者学习网 * @Title: ClipBoardDemoActivity.java
3FqHTML5中文学习网 - HTML5先行者学习网 * @Package com.xiaoma.clipboard.demo
3FqHTML5中文学习网 - HTML5先行者学习网 * @Description: 剪贴板学习
3FqHTML5中文学习网 - HTML5先行者学习网 * @author MZH
3FqHTML5中文学习网 - HTML5先行者学习网 */
3FqHTML5中文学习网 - HTML5先行者学习网 public class ClipBoardDemoActivity extends Activity implements OnClickListener{
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 private Button put = null;
3FqHTML5中文学习网 - HTML5先行者学习网 private Button get = null;
3FqHTML5中文学习网 - HTML5先行者学习网 private ClipboardManager clipboard = null;
3FqHTML5中文学习网 - HTML5先行者学习网 private static final String CONTACTS = "content://com.example.contacts";
3FqHTML5中文学习网 - HTML5先行者学习网 private String COPY_PATH = "/copy";
3FqHTML5中文学习网 - HTML5先行者学习网 public static final String MIME_TYPE_CONTACT = "vnd.android.cursor.item/vnd.xiaoma.contact";
3FqHTML5中文学习网 - HTML5先行者学习网 @Override
3FqHTML5中文学习网 - HTML5先行者学习网 public void onCreate(Bundle savedInstanceState) {
3FqHTML5中文学习网 - HTML5先行者学习网 super.onCreate(savedInstanceState);
3FqHTML5中文学习网 - HTML5先行者学习网 setContentView(R.layout.main);
3FqHTML5中文学习网 - HTML5先行者学习网 init();
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 /**
3FqHTML5中文学习网 - HTML5先行者学习网 * 初始化方法实现
3FqHTML5中文学习网 - HTML5先行者学习网 */
3FqHTML5中文学习网 - HTML5先行者学习网 private void init(){
3FqHTML5中文学习网 - HTML5先行者学习网 put = (Button)findViewById(R.id.button1);
3FqHTML5中文学习网 - HTML5先行者学习网 put.setOnClickListener(this);
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 get = (Button)findViewById(R.id.button2);
3FqHTML5中文学习网 - HTML5先行者学习网 get.setOnClickListener(this);
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 /**
3FqHTML5中文学习网 - HTML5先行者学习网 * 监听实现
3FqHTML5中文学习网 - HTML5先行者学习网 */
3FqHTML5中文学习网 - HTML5先行者学习网 @Override
3FqHTML5中文学习网 - HTML5先行者学习网 public void onClick(View v) {
3FqHTML5中文学习网 - HTML5先行者学习网 switch (v.getId()) {
3FqHTML5中文学习网 - HTML5先行者学习网 case R.id.button1:
3FqHTML5中文学习网 - HTML5先行者学习网 put();
3FqHTML5中文学习网 - HTML5先行者学习网 break;
3FqHTML5中文学习网 - HTML5先行者学习网 case R.id.button2:
3FqHTML5中文学习网 - HTML5先行者学习网 get();
3FqHTML5中文学习网 - HTML5先行者学习网 break;
3FqHTML5中文学习网 - HTML5先行者学习网 default:
3FqHTML5中文学习网 - HTML5先行者学习网 break;
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 /**
3FqHTML5中文学习网 - HTML5先行者学习网 * 往Clip中放入数据
3FqHTML5中文学习网 - HTML5先行者学习网 */
3FqHTML5中文学习网 - HTML5先行者学习网 private void put(){
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 /**
3FqHTML5中文学习网 - HTML5先行者学习网 * 往ClipboardManager中可放的数据类型有三种:
3FqHTML5中文学习网 - HTML5先行者学习网 * 因为大家都知道,就算是电脑,Ctrl+c也不可能在同一时间里即
3FqHTML5中文学习网 - HTML5先行者学习网 * 从C盘剪贴,又从D般剪贴,所以小马只写一种简单的信息进去,
3FqHTML5中文学习网 - HTML5先行者学习网 * 另外两种写在注释中
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 //类型一:text
3FqHTML5中文学习网 - HTML5先行者学习网 clipboard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
3FqHTML5中文学习网 - HTML5先行者学习网 ClipData textCd = ClipData.newPlainText("kkk", "WaHouHou!Clip....");
3FqHTML5中文学习网 - HTML5先行者学习网 clipboard.setPrimaryClip(textCd);
3FqHTML5中文学习网 - HTML5先行者学习网 */
3FqHTML5中文学习网 - HTML5先行者学习网 /**
3FqHTML5中文学习网 - HTML5先行者学习网 *
3FqHTML5中文学习网 - HTML5先行者学习网 //类型二:URI
3FqHTML5中文学习网 - HTML5先行者学习网 Uri copyUri = Uri.parse(CONTACTS + COPY_PATH + "/" + "XiaoMa");
3FqHTML5中文学习网 - HTML5先行者学习网 ClipData clipUri = ClipData.newUri(getContentResolver(),"URI",copyUri);
3FqHTML5中文学习网 - HTML5先行者学习网 clipboard.setPrimaryClip(clipUri);
3FqHTML5中文学习网 - HTML5先行者学习网 *
3FqHTML5中文学习网 - HTML5先行者学习网 */
3FqHTML5中文学习网 - HTML5先行者学习网 //类型三:Intent
3FqHTML5中文学习网 - HTML5先行者学习网 //试下在Intent剪贴时使用Bundle传值进去
3FqHTML5中文学习网 - HTML5先行者学习网 clipboard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
3FqHTML5中文学习网 - HTML5先行者学习网 Intent appIntent = new Intent();
3FqHTML5中文学习网 - HTML5先行者学习网 Bundle bundle = new Bundle();
3FqHTML5中文学习网 - HTML5先行者学习网 bundle.putInt("xiaoma", 3344258);
3FqHTML5中文学习网 - HTML5先行者学习网 bundle.putInt("yatou", 3344179);
3FqHTML5中文学习网 - HTML5先行者学习网 appIntent.putExtra("XiaoMaGuo", bundle);
3FqHTML5中文学习网 - HTML5先行者学习网 appIntent.setClass(ClipBoardDemoActivity.this, ReceiverClip.class);
3FqHTML5中文学习网 - HTML5先行者学习网 ClipData clipIntent = ClipData.newIntent("Intent",appIntent);
3FqHTML5中文学习网 - HTML5先行者学习网 clipboard.setPrimaryClip(clipIntent);
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 /**
3FqHTML5中文学习网 - HTML5先行者学习网 * 从Clip中取数据
3FqHTML5中文学习网 - HTML5先行者学习网 */
3FqHTML5中文学习网 - HTML5先行者学习网 private void get(){
3FqHTML5中文学习网 - HTML5先行者学习网 clipboard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
3FqHTML5中文学习网 - HTML5先行者学习网 Item item = null;
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 //无数据时直接返回
3FqHTML5中文学习网 - HTML5先行者学习网 if(!clipboard.hasPrimaryClip()){
3FqHTML5中文学习网 - HTML5先行者学习网 Toast.makeText(getApplicationContext(), "剪贴板中无数据", Toast.LENGTH_SHORT).show();
3FqHTML5中文学习网 - HTML5先行者学习网 return ;
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 //如果是文本信息
3FqHTML5中文学习网 - HTML5先行者学习网 if (clipboard.getPrimaryClipDescription().hasMimeType(
3FqHTML5中文学习网 - HTML5先行者学习网 ClipDescription.MIMETYPE_TEXT_PLAIN)) {
3FqHTML5中文学习网 - HTML5先行者学习网 ClipData cdText = clipboard.getPrimaryClip();
3FqHTML5中文学习网 - HTML5先行者学习网 item = cdText.getItemAt(0);
3FqHTML5中文学习网 - HTML5先行者学习网 //此处是TEXT文本信息
3FqHTML5中文学习网 - HTML5先行者学习网 if(item.getText() == null){
3FqHTML5中文学习网 - HTML5先行者学习网 Toast.makeText(getApplicationContext(), "剪贴板中无内容", Toast.LENGTH_SHORT).show();
3FqHTML5中文学习网 - HTML5先行者学习网 return ;
3FqHTML5中文学习网 - HTML5先行者学习网 }else{
3FqHTML5中文学习网 - HTML5先行者学习网 Toast.makeText(getApplicationContext(), item.getText(), Toast.LENGTH_SHORT).show();
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 //如果是INTENT
3FqHTML5中文学习网 - HTML5先行者学习网 } else if (clipboard.getPrimaryClipDescription().hasMimeType(
3FqHTML5中文学习网 - HTML5先行者学习网 ClipDescription.MIMETYPE_TEXT_INTENT)) {
3FqHTML5中文学习网 - HTML5先行者学习网 //此处是INTENT
3FqHTML5中文学习网 - HTML5先行者学习网 item = clipboard.getPrimaryClip().getItemAt(0);
3FqHTML5中文学习网 - HTML5先行者学习网 Intent intent = item.getIntent();
3FqHTML5中文学习网 - HTML5先行者学习网 startActivity(intent);
3FqHTML5中文学习网 - HTML5先行者学习网 //........
3FqHTML5中文学习网 - HTML5先行者学习网 3FqHTML5中文学习网 - HTML5先行者学习网 //如果是URI
3FqHTML5中文学习网 - HTML5先行者学习网 } else if (clipboard.getPrimaryClipDescription().hasMimeType(
3FqHTML5中文学习网 - HTML5先行者学习网 ClipDescription.MIMETYPE_TEXT_URILIST)) {
3FqHTML5中文学习网 - HTML5先行者学习网 //此处是URI内容
www.jb51.net3FqHTML5中文学习网 - HTML5先行者学习网
ContentResolver cr = getContentResolver();
3FqHTML5中文学习网 - HTML5先行者学习网 ClipData cdUri = clipboard.getPrimaryClip();
3FqHTML5中文学习网 - HTML5先行者学习网 item = cdUri.getItemAt(0);
3FqHTML5中文学习网 - HTML5先行者学习网 Uri uri = item.getUri();
3FqHTML5中文学习网 - HTML5先行者学习网 if(uri != null){
3FqHTML5中文学习网 - HTML5先行者学习网 String mimeType = cr.getType(uri);
3FqHTML5中文学习网 - HTML5先行者学习网 if (mimeType != null) {
3FqHTML5中文学习网 - HTML5先行者学习网 if (mimeType.equals(MIME_TYPE_CONTACT)) {
3FqHTML5中文学习网 - HTML5先行者学习网 Cursor pasteCursor = cr.query(uri, null, null, null, null);
3FqHTML5中文学习网 - HTML5先行者学习网 if (pasteCursor != null) {
3FqHTML5中文学习网 - HTML5先行者学习网 if (pasteCursor.moveToFirst()) {
3FqHTML5中文学习网 - HTML5先行者学习网 //此处对数据进行操作就可以了,前提是有权限
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 pasteCursor.close();
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 }
3FqHTML5中文学习网 - HTML5先行者学习网 }