如何从内置android web浏览器中复制的剪贴板中获取图像

时间:2014-12-24 06:59:00

标签: java android clipboardmanager

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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;
                    }
                });