Android获取粘贴板内容

获取黏贴版内容的相关代码需要在UiThread上运行,所以没法即时获得数据并返回。
最后的解决办法是,在每次onResume的时候获取黏贴板的内容并保存,程序需要黏贴板内容时直接返回保存的这个值

public void onResume(Activity page) {
    // 因为获取黏贴板的内容需要在UiThread上运行,所以没法直接获取到(因为return的时候runnable里的内容很可能还没执行完)
    // 故改为在OnResume的时候保存粘贴板里的内容,然后直接返回保存的内容
    getPasteString();
}

// 从黏贴板获取数据
private void getPasteString()
{
    // 获取并保存粘贴板里的内容
    try {
        activity.runOnUiThread(new Runnable() {
            
            @Override
            public void run() {
                ClipboardManager clipboard = (ClipboardManager)activity.getSystemService(Context.CLIPBOARD_SERVICE);
                ClipData clipData = clipboard.getPrimaryClip();
                if (clipData != null && clipData.getItemCount() > 0) {
                    CharSequence text = clipData.getItemAt(0).getText();
                    pasteString = text.toString();
                    Log.d(TAG, "getFromClipboard text=" + pasteString);
                }
            }
        });
    } catch (Exception e) {
        Log.e(TAG, "getFromClipboard error");
        e.printStackTrace();
    }
}

// 复制到粘贴板
public class copyToClipboard implements Method {

    @Override
    public String Execute(String args, String callBack) {
        
        try {
            final String argsString = args;
            activity.runOnUiThread(new Runnable() {
                
                @Override
                public void run() {
                    ClipboardManager clipboard = (ClipboardManager)activity.getSystemService(Context.CLIPBOARD_SERVICE);
                    ClipData clipData = ClipData.newPlainText("text", argsString.trim());
                    clipboard.setPrimaryClip(clipData);                     
                }
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,638评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • 昨天一起学习,遇到了两位老师,宋玉华老师和陈盼老师。 说遇到,是有原因的,就是精神上的遇到。 我正在做沙盘,陈盼老...
    肖玉坤阅读 282评论 0 0
  • 注:原文---念茜的博客 在应用开发过程中,我们希望知道设备是否越狱,正以什么权限运行程序,好对应采取一些防御和安...
    richar_阅读 316评论 0 0
  • 先说说我的90天目标及完成情况: 1 完成产品作业--进行中的均已完成,下一步要优秀毕业 2 每天使用omni f...
    李佳_艾佳阅读 221评论 0 0