2014-12-24 3 views
0

Мне нужно получить изображение, скопированное с веб-сайта в собственном встроенном веб-браузере. Мне интересно, какой механизм используется для операций CopyPaste во встроенных приложениях, потому что он не является «стандартным» буфером обмена. Например. После копирования изображения в браузере (скопировано в тостер буфера обмена), при вставке в новое SMS я могу просмотреть содержимое буфера обмена и выбрать тот, который я хотел бы вставить. Контент может представлять собой текст, ссылку и изображение.Как получить изображение из буфера обмена, скопированного во встроенном веб-браузере для Android.

В моем подходе я использую буфера слушателя в фоновом режиме службы

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

Это прекрасно работает для текстового контента скопирована в буфер обмена. Однако этот прослушиватель не уведомляется при копировании изображений в браузере. Я использую Samsung Galaxy S5 для тестирования. Любые идеи о том, как получить контент (URI), скопированы в встроенный браузер?

ответ

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

Это не по теме, поскольку мне нужно получить содержимое из системного блока веб-браузера – Antoniossss

+0

Хорошо. Нет проблем для этого. Если у меня будет что-то связанное с этим, я обязательно отправлю обратно. –

 Смежные вопросы

  • Нет связанных вопросов^_^