本文主要是介绍Android 剪切板相关,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Android 剪切板相关
本篇文章简单介绍android中的ClipboardManager.
1:简介
ClipboardManager是android中用于管理剪切板一个类.它允许应用程序读取和写入剪切板数据,包括文本,图片等.
2: 获取实例
获取实例也很简单.如下:
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
3: 获取剪切板内容
获取剪切板文本数据:
public static String getCopyText(Context context) {if (clipboardManager == null) {clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);}if (null == clipboardManager) return null;ClipData clipData = clipboardManager.getPrimaryClip();if (clipData != null && clipData.getItemCount() > 0) {return clipData.getItemAt(0).getText().toString();}return null;
}
getPrimaryClip()方法获取剪切板的当前内容,返回一个ClipData对象.
4: 设置剪切板内容
-
设置剪切板文字:
public static void setCopyText(Context context,String s) {try {if (clipboardManager == null) {clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);}if (null == clipboardManager) return;ClipData clipData = ClipData.newPlainText(null, s);clipboardManager.setPrimaryClip(clipData);} catch (Throwable e) {Log.e("xxxxx", "setCopyText: ", e);}}
5: 监听剪切板
private ClipboardManager.OnPrimaryClipChangedListener clipChangedListener = () -> {ClipData clipData = clipboardManager.getPrimaryClip();String clipStr = "";if (clipData != null && clipData.getItemCount() > 0) {clipStr = clipData.getItemAt(0).getText().toString();}Log.i("xxxxx", "onPrimaryClipChanged: " + clipStr);};clipboardManager.addPrimaryClipChangedListener(clipChangedListener);
但是addPrimaryClipChangedListener只能监听当前应用程序剪切板内容的变化,无法监测其他应用,至于原因就是为了安全性和隐私.
6:移除监听
if (clipboardManager != null) {clipboardManager.removePrimaryClipChangedListener(clipChangedListener);
}
这篇关于Android 剪切板相关的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!