【问题标题】:How to get image from clipboard copied in build-in android web browser如何从剪贴板中获取图像,在内置的 android web 浏览器中复制
【发布时间】:2014-12-24 06:59:00
【问题描述】:

我需要在本机内置的 android 网络浏览器中检索从网页复制的图像。我想知道内置应用程序中的 CopyPaste 操作使用什么样的机制,因为它不是“标准”剪贴板。例如。在浏览器中复制图像后(显示复制到剪贴板 toast),粘贴到新短信时,我可以浏览“剪贴板”内容并选择我想粘贴的内容。内容可以是文本、链接和图像。

在我的方法中,我在后台服务中使用剪贴板监听器

    listener = new ClipboardManager.OnPrimaryClipChangedListener() {
        @Override
        public void onPrimaryClipChanged() {
            Log.d(LOG_TAG, "Clipboard content changed");
            processClipboardContent();
        }
    };
    manager.addPrimaryClipChangedListener(listener); // ClipboardManager

这适用于复制到剪贴板的文本内容。但是,在浏览器中复制图像时不会通知此侦听器。 我使用三星 Galaxy S5 进行测试。 任何想法如何检索在内置浏览器中复制的内容(可能的 URI)?

【问题讨论】:

    标签: java android clipboardmanager


    【解决方案1】:

    我试过这个。当我单击图像时,它将被复制到剪贴板,您可以将其粘贴到您想要的任何位置。我希望这对你有用。

    imgDeletePic.setOnLongClickListener(new OnLongClickListener() {
    
                        @Override
                        public boolean onLongClick(View v) {
                            // TODO Auto-generated method stub
                            try{
                                 ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
                                 ClipData clip = ClipData.newRawUri("Image", Uri.parse("file://" +strFilePath));
                                 clipboard.setPrimaryClip(clip);
    
                                 Toast.makeText(DeletePhotoActivity.this, "Sticker copied.", Toast.LENGTH_SHORT).show();
                            } catch(Exception e) {
                                e.printStackTrace();
                            }
                            return false;
                        }
                    });
    

    【讨论】:

    • 有点离题,因为我需要从网络浏览器的密码板获取内容
    • 好的。这没有问题。如果我有与此相关的内容,我一定会回复。
    猜你喜欢
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 2012-11-30
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多