¿Hay alguna forma de abrir un archivo de extensión .doc?Android cómo abrir un archivo de extensión .doc?
Respuesta
puede copiar el archivo del recurso sin procesar a sdcard, luego invocar startActivity() en un ACTION_VIEW Intención que tiene un URI apuntando a la copia legible y también tiene el tipo MIME adecuado.
Por supuesto, esto solo funcionará en un dispositivo que tenga un visor de documentos de Word en él.
A diferencia de iOS, Android no es compatible con la representación de archivos .doc o .ppt. Está buscando una intención pública que le permita a su aplicación reutilizar las actividades de otras aplicaciones para mostrar estos tipos de documentos. Pero esto solo funcionará para un teléfono que tenga instalada una aplicación que admita esta intención.
http://developer.android.com/guide/topics/intents/intents-filters.html
o si ha instalado alguna aplicación a continuación, utilizar esta intención:
//Uri uri = Uri.parse("file://"+file.getAbsolutePath());
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_VIEW);
String type = "application/msword";
intent.setDataAndType(Uri.fromFile(file), type);
startActivity(intent);
Funcionó como un amuleto. –
Aquí es un método para hacerse cargo de esto para usted:
public void openDocument(String name) {
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
File file = new File(name);
String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString());
String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
if (extension.equalsIgnoreCase("") || mimetype == null) {
// if there is no extension or there is no definite mimetype, still try to open the file
intent.setDataAndType(Uri.fromFile(file), "text/*");
} else {
intent.setDataAndType(Uri.fromFile(file), mimetype);
}
// custom message for the intent
startActivity(Intent.createChooser(intent, "Choose an Application:"));
}
Documento Abierto de Lista de la aplicación disponible El usuario tiene que elegir la aplicación de la lista de la aplicación
File targetFile = new File(path);
Uri targetUri = Uri.fromFile(targetFile);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(targetUri, "application/*");
startActivityForResult(intent, DOC);
Entonces, ¿cuál es el 'request_code' en' startActivityForResult() '. DOC no representa un código de solicitud específico. – CagCak
puede abrir el archivo en la vista web si desea abrir dentro de la aplicación. ejemplo:
String doc="<iframe src='http://docs.google.com/viewer? url=http://www.iasted.org/conferences/formatting/presentations-tips.ppt&embedded=true'"+
" width='100%' height='100%' style='border: none;'></iframe>";
WebView wv = (WebView)findViewById(R.id.fileWebView);
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setAllowFileAccess(true);
//wv.loadUrl(doc);
wv.loadData(doc , "text/html", "UTF-8");
¡Estaba intentando ver qué opciones tenía para crear una vista previa del archivo, no sabía que podía enviar una URL a Google Docs! –
Esta es la forma completa a abrir el archivo .doc en Android 7.0 o menos:
Paso-1: En primer lugar, colocar el archivo pdf en la carpeta activos como el siguiente captura de pantalla.
Paso-2: siguientes líneas Ahora ve a build.gradle archivo y añadir:
repositories {
maven {
url "https://s3.amazonaws.com/repo.commonsware.com"
}
}
y luego en Dependencias de añadir la siguiente línea y sincronización:
compile 'com.commonsware.cwac:provider:0.4.3'
Paso-3: Ahora agregue un nuevo archivo java que debe extenderse desde FileProvider
Como en mi caso el nombre del archivo es LegacyCompatFileProvider
y el código dentro de él.
import android.database.Cursor;
import android.net.Uri;
import android.support.v4.content.FileProvider;
import com.commonsware.cwac.provider.LegacyCompatCursorWrapper;
public class LegacyCompatFileProvider extends FileProvider {
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
return(new LegacyCompatCursorWrapper(super.query(uri, projection, selection, selectionArgs, sortOrder)));
}
}
Paso 4: Crear una carpeta llamada "xml"
bajo "res"
carpeta. (Si la carpeta ya está allí, entonces no es necesario crear). Ahora agregue un archivo providers_path.xml
, en la carpeta xml
.Aquí está la captura de pantalla:
Dentro archivo de complemento siguientes líneas:
<?xml version="1.0" encoding="utf-8"?>
<paths>
<files-path name="stuff" />
</paths>
Paso 5: Ahora ve a AndroidManifest.xml
archivo y siguientes líneas en <application></application>
etiqueta:
<provider
android:name="LegacyCompatFileProvider"
android:authorities="REPLACE_IT_WITH_PACKAGE_NAME"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
Paso-6: Ahora ve a la clase de actividad de wh ERE que desea cargar PDF y añadir después de 1 línea y estos 2 métodos:
private static final String AUTHORITY="REPLACE_IT_WITH_PACKAGE_NAME";
static private void copy(InputStream in, File dst) throws IOException {
FileOutputStream out=new FileOutputStream(dst);
byte[] buf=new byte[1024];
int len;
while ((len=in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
}
private void LoadPdfFile(String fileName){
File f = new File(getFilesDir(), fileName + ".doc");
if (!f.exists()) {
AssetManager assets=getAssets();
try {
copy(assets.open(fileName + ".doc"), f);
}
catch (IOException e) {
Log.e("FileProvider", "Exception copying from assets", e);
}
}
Intent i=
new Intent(Intent.ACTION_VIEW,
FileProvider.getUriForFile(this, AUTHORITY, f));
i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(i);
finish();
}
Ahora llamar LoadPdfFile
método y pasar su nombre de archivo sin .doc
como en mi caso "chapter-0"
y se abrirá el archivo doc en la aplicación de lectura doc.
- 1. ¿Cómo abrir el archivo de extensión .msu?
- 2. Cómo abrir un archivo csv en Android
- 3. Android: Cómo abrir un tipo de archivo desconocido
- 4. Cómo abrir un archivo .a
- 5. Cómo comprobar extensión de archivo en Android
- 6. ¿Cómo se puede abrir un archivo con el programa asociado a su extensión de archivo?
- 7. ¿Cómo abrir un archivo PDF local en WebView en Android?
- 8. ¿Cómo abrir un archivo "nul"?
- 9. ¿Cómo podemos abrir archivos como ppt, doc, pps, rtf, etc. en Android?
- 10. Abrir un archivo de la carpeta assets en android
- 11. Cómo ejecutar/abrir cualquier archivo en .NET
- 12. ¿Cómo configuro TortoiseHg para abrir un archivo en el programa correcto según su extensión?
- 13. Abrir archivo Html local en Webview - Android
- 14. cómo leer archivos .doc, .docx, .xls en android
- 15. Chrome Extensión: ficha Abrir y sin emergente
- 16. Abrir un archivo de Cygwin
- 17. Cómo crear una palabra .doc archivo de una plantilla .doc en php
- 18. Cómo abrir un SMS específico en android
- 19. Abrir archivo de solo lectura
- 20. ¿Abrir un archivo de Word protegido con contraseña en Java?
- 21. ¿Cómo abrir un archivo .accdb en Ubuntu?
- 22. ¿Cómo abrir un archivo usando JavaScript?
- 23. Cómo abrir un archivo externo desde HTML
- 24. Cómo abrir un archivo empaquetado con WinRT
- 25. Abrir archivo con asociación
- 26. ¿Cómo abrir un archivo en la memoria?
- 27. Cómo abrir un archivo desde Memory Stream
- 28. Abrir archivo por nombre de archivo comodín
- 29. Cómo abrir un archivo en Android a través de un Intento
- 30. ¿Cómo funciona el formato .doc?
¿Qué quiere decir con abrir el archivo. ¿Desea ver el archivo o qué usar el contenido del archivo? – MrWaqasAhmed
para la vista en mi aplicación – Narendra
intente oficina rápida en el mercado de Android para abierto MS Word, Excel, visor de archivos pdf – Dinesh