mht como archivos abrir android webview mhtml

como - Muestra el archivo.mht en android



como abrir archivos mhtml en android (2)

Encontré este desconocido proyecto de google que parece estar funcionando.

Esta utilidad decodifica el archivo mhtml y lo guarda en una ruta determinada (interna o externa). Después de guardar, devuelve la ruta del archivo html que podría cargarse en la vista web.

Intentalo.

Cómo mostrar el archivo .mht (MHTML) en la vista web de Android. Intenté abrir el archivo .mht en el navegador predeterminado de Android, pero no se abrió, pero puedo abrirlo en el navegador móvil de Opera. Así que probé con la biblioteca MHTUnpack java. No tuve éxito en eso.

¡Aquí hay un enlace !

Por favor, si alguien ha usado este MHTUnpack, déjame cómo puedo usarlo en Android. Y también avíseme si hay otra biblioteca.

Gracias


Después de superar la frustración sobre el cambio de formato WebView.saveWebArchive() en Android 4.4, probé el "proyecto de Google desconocido" mencionado por Chitranshu Asthana en su respuesta, pero el código proporcionado es lento (~ 10s para archivos de 1MB * .mht con una docena de imágenes ) y no maneja correctamente los nombres de los archivos adjuntos.

La biblioteca MHT Unpack combinada con Java Mail para Android (no la proporcionada por Oracle) funcionó a la perfección.

EDIT: corrigió el enlace a la biblioteca desempaquetar de MHT. Además, aquí está el ejemplo de uso:

// contentPath - path to input .mht file public static String unpackMht(String contentPath) throws IOException { // dstPath - path where file will be unpacked String dstPath = openTempDir(null) + File.separator; String indexFileName = dstPath + new File(contentPath).getName(); try { Collection<Attachment> attachments = MHTUnpack.unpack(new File(contentPath)); for (Attachment attachment : attachments) { String filename = attachment.getFileName(); String path = filename == null ? indexFileName : dstPath + filename; File newFile = new File(path); if (newFile.exists()) { newFile.delete(); } attachment.saveFile(path); } return indexFileName; } catch (MessagingException e) { throw new IOException(e); } }