C'è un modo possibile per aprire un file con estensione doc?Android come aprire un file di estensione .doc?
risposta
è possibile copiare il file dalla risorsa non elaborata alla sdcard, quindi chiamare startActivity() su un intento ACTION_VIEW che ha un Uri che punta alla copia leggibile e ha anche il tipo MIME corretto.
Ovviamente, questo funzionerà solo su un dispositivo su cui è presente un visualizzatore di documenti Word.
A differenza di iOS, Android non supporta i file di rendering .doc o .ppt. Stai cercando un intento pubblico che permetta alla tua app di riutilizzare le attività di altre app per visualizzare questi tipi di documenti. Ma questo funzionerà solo per un telefono che ha un'app installata che supporta questo intento.
http://developer.android.com/guide/topics/intents/intents-filters.html
o se è stato installato qualche app quindi utilizzare questo intento:
//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);
Ha funzionato come un fascino. –
Ecco un metodo per prendersi cura di questo per voi:
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:"));
}
Open Document da Elenco delle applicazioni disponibili L'utente deve scegliere l'applicazione dall'elenco dell'applicazione
File targetFile = new File(path);
Uri targetUri = Uri.fromFile(targetFile);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(targetUri, "application/*");
startActivityForResult(intent, DOC);
Quindi, qual è il 'request_code' in' startActivityForResult() '. DOC non rappresenta un codice di richiesta specifico. – CagCak
è possibile aprire il file in visualizzazione Web se si desidera aprire all'interno dell'applicazione. es:
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");
Stavo cercando di vedere quali opzioni dovevo creare un'anteprima del file, non sapevo che potresti inviare a google docs un URL! –
Qui è il modo completa per aprire file doc in Android 7.0 o meno:
Step-1: Prima di tutto, inserire il vostro file pdf in attività come la cartella seguente screenshot.
Step-2: Passare al build.gradle di file e aggiungere le righe seguenti:
repositories {
maven {
url "https://s3.amazonaws.com/repo.commonsware.com"
}
}
e poi sotto le dipendenze aggiungere la riga e la sincronizzazione seguente:
compile 'com.commonsware.cwac:provider:0.4.3'
Step-3: Ora aggiungi un nuovo file java che dovrebbe estendersi da FileProvider
Come nel mio caso il nome del file è LegacyCompatFileProvider
e il codice al suo interno.
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)));
}
}
Step-4: creare una cartella denominata "xml"
sotto la cartella "res"
. (Se la cartella è già lì, non è necessario creare). Ora aggiungi un file providers_path.xml
nella cartella xml
.Ecco lo screenshot:
All'interno file del componente aggiuntivo seguenti righe:
<?xml version="1.0" encoding="utf-8"?>
<paths>
<files-path name="stuff" />
</paths>
Step-5: Passare al AndroidManifest.xml
di file e seguenti righe in <application></application>
tag:
<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>
Step-6: Ora vai alla classe Attività da wh ere si desidera caricare pdf e aggiungere dopo 1 riga e questi 2 metodi:
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();
}
Ora chiamare LoadPdfFile
metodo e passare il nome del file senza .doc
come nel mio caso "chapter-0"
e si aprirà file doc in applicazione per la lettura doc.
- 1. Come aprire il file di estensione .msu?
- 2. Come scaricare file (pdf, doc ecc ...) in sdcard e aprire il file usando volley in Android?
- 3. Android: Come aprire un tipo di file sconosciuto
- 4. Come possiamo aprire file come ppt, doc, pps, rtf, ecc. In Android?
- 5. Come aprire il file vsdx?
- 6. come leggere i file .doc, .docx, .xls in android
- 7. Android non può aprire il file
- 8. come aprire un file .bundle
- 9. Java e Android: come aprire più file con un intent?
- 10. Impossibile aprire Word doc con COM in PHP
- 11. Come eseguire/aprire qualsiasi file in .NET
- 12. Come si può aprire un file con il programma associato alla sua estensione?
- 13. la creazione di applicazione che apre un file personalizzato estensione
- 14. Come memorizzare un file con estensione di file con multer?
- 15. Come aprire PDF in Android
- 16. Come doc un numero variabile di parametri
- 17. Come disattivare l'esecuzione di un test doc?
- 18. Aprire un file di Word protetto da password in Java?
- 19. DownloadManager Android "Impossibile aprire il file"
- 20. Come aprire file apk
- 21. Come aprire un file .accdb in Ubuntu?
- 22. Come aprire un file in java
- 23. come aprire un file .launch in eclissi
- 24. Android Studio - Impossibile aprire il file PNG
- 25. Come aprire un file Excel in PHP?
- 26. Modifica estensione file in SharePoint
- 27. Aprire un file da Cygwin
- 28. Verificare file di estensione
- 29. Aprire un file diretto sul disco rigido da firefox (file: ///)
- 30. Come aprire il file PDF locale in WebView in Android?
Cosa intendete per aprire il file. Vuoi vedere il file o cosa usare il contenuto del file. – MrWaqasAhmed
per la visualizzazione nella mia app – Narendra
prova Quick office nel mercato Android per aprire ms word, excel, visualizzatore di file pdf – Dinesh