Desidero salvare le immagini visualizzate in Webview nell'archivio locale e Webview deve avere memorizzato nella cache le immagini visualizzate, come posso accedere alle immagini memorizzate nella cache e salvarle nella memoria?come salvare le immagini visualizzate in Webview?
7
A
risposta
2
WebView webView = new WebView(this);
//your image is in webview
Picture picture = webView.capturePicture();
Canvas canvas = new Canvas();
picture.draw(canvas);
Bitmap image = Bitmap.createBitmap(picture.getWidth(),
picture.getHeight(),Config.ARGB_8888);
canvas.drawBitmap(mimage, 0, 0, null);
if(image != null) {
ByteArrayOutputStream mByteArrayOS = new
ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 90, mByteArrayOS);
try {
fos = openFileOutput("image.jpg", MODE_WORLD_WRITEABLE);
fos.write(mByteArrayOS.toByteArray());
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
provare il sopra per catturare un'immagine da WebView
1
Poi si deve impostare un WebViewClient al WebView e sovrascrivere shouldOverrideUrlLoading e onLoadResource metodi. Permettetemi di fare un semplice esempio:
WebView yourWebView; // initialize it as always...
// this is the funny part:
yourWebView.setWebViewClient(yourWebClient);
// somewhere on your code...
WebViewClient yourWebClient = new WebViewClient(){
// you tell the webclient you want to catch when a url is about to load
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
return true;
}
// here you execute an action when the URL you want is about to load
@Override
public void onLoadResource(WebView view, String url){
if(url.equals("http://cnn.com")){
// do whatever you want
//download the image from url and save it whereever you want
}
}
}
0
ho fatto utilizzato il codice di cui sopra ed è "funzionato", ma stava producendo immagini in bianco solo così dopo un paio di ore qui sono le mie correzioni, ora scrive sulla sd card esterna senza rischi deprecazione o problemi di percorso ...
public void captureWV() {
Picture picture = webview.capturePicture();
Bitmap image = Bitmap.createBitmap(picture.getWidth(),picture.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(image);
picture.draw(canvas);
if (image != null) {
ByteArrayOutputStream mByteArrayOS = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 90, mByteArrayOS);
try {
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File(sdCard.getAbsolutePath());
File file = new File(dir, "filename.jpg");
FileOutputStream fos = new FileOutputStream(file);
fos.write(mByteArrayOS.toByteArray());
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
anche qui è l'inizio della mia MainActivity
public class MainActivity extends Activity {
private static final String URL = "http://punto.gt"; //your website
WebView webview;
// your code here
}
+0
Lo screenshot eseguito è sempre nero. :( –
Problemi correlati
- 1. Le immagini WebView non vengono visualizzate con HTTPS
- 2. pysqlite - come salvare le immagini
- 3. Android: Visualizzare le immagini in Webview
- 4. Immagini precaricate non visualizzate in Chrome
- 5. Le immagini di caricamento del prodotto Magento non vengono visualizzate
- 6. Webview Android loadDataWithBaseURL come caricare le immagini dalle risorse?
- 7. Immagini non visualizzate su Apple Watch
- 8. Immagini non visualizzate nell'applicazione PhoneGap Build
- 9. Apple Guarda immagini non visualizzate sul simulatore
- 10. Immagini di sfondo CSS non visualizzate sull'iPad
- 11. Immagini visualizzate Android non rispettando maxWidth?
- 12. Come salvare un cookie in una webview Android per sempre?
- 13. Immagini non visualizzate in Silverlight quando l'app è in esecuzione
- 14. Come memorizzare le immagini in Meteor?
- 15. Come bloccare le immagini incorporate nella posta elettronica visualizzate come allegati da GMail?
- 16. Salvare le immagini sul disco rigido SENZA richiesta?
- 17. Android Come salvare le immagini della telecamera nel database e visualizzare un'altra attività nella visualizzazione elenco?
- 18. Android Salvare le immagini su SQLite o SDCard o memoria
- 19. Le celle non vengono visualizzate in UICollectionView?
- 20. Perché le immagini nel Crystal Report con sfondo bianco non vengono visualizzate come bianco puro?
- 21. LazyLoad immagini non visualizzate fino a dopo una pergamena
- 22. Salva sito Web completo - Immagini di sfondo non visualizzate
- 23. immagini della pagina principale non visualizzate nelle pagine secondarie
- 24. immagini non vengono visualizzate nel dispositivo, ma nel simulatore
- 25. Come salvare le immagini dalla fotocamera in Android su una cartella specifica?
- 26. Loop in R: come salvare le uscite?
- 27. Salvare le funzioni in phpdoc
- 28. Come salvare le impostazioni GVIM?
- 29. Salvare le impostazioni in MATLAB
- 30. Salvare un semplice buffer di immagini in png in C++
il codice che pubblichi è solo utilizzato per ottenere lo screenshot di WebView? –
Voglio salvare ogni visualizzazione di immagini webview –
Perché accettare la risposta se non è quello che hai chiesto? –