Android wie man eine .doc-Erweiterungsdatei öffnen?

Gibt es eine Möglichkeit, eine .doc-Erweiterungsdatei zu öffnen?

  • Verbinden Sie sich mit Bluetooth programmgesteuert
  • ASIHTTPRequest-Äquivalent für Android oder einen HTTP-Request-Manager / Wrapper?
  • Wähle Foto aus der Galerie in Android 5.0
  • Wie kann ich einen Android-Thread komplett töten?
  • Wiederherstellung von HttpURLConnection, um die Session am Leben zu halten
  • Benötige Nummer nur Softtastatur?
  • Wie kann man den Textstil einer Schaltfläche in Selektoren einstellen?
  • GSON werfen "erwartet BEGIN_OBJECT aber war BEGIN_ARRAY"?
  • Übergeben der Funktion als Parameter in Java
  • Android verknüpfen, wie man benutzerdefinierte Link-Farbe einstellen?
  • Wie man androide Anwendung programmgesteuert beendet
  • Ormlite-Setup ohne Basistätigkeiten
  • 6 Solutions collect form web for “Android wie man eine .doc-Erweiterungsdatei öffnen?”

    Im Gegensatz zu iOS unterstützt Android selbst keine Rendering .doc- oder .ppt-Dateien. Sie suchen nach einer öffentlichen Absicht, die es Ihrer App ermöglicht, die Aktivitäten anderer Apps wiederzuverwenden, um diese Dokumenttypen anzuzeigen. Aber das funktioniert nur für ein Telefon, das eine App installiert hat, die diese Absicht unterstützt.

    http://developer.android.com/guide/topics/intents/intents-filters.html

    Oder wenn Sie einige app installiert haben, dann verwenden Sie diese Absicht:

    //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); 

    Dokument aus der Liste der verfügbaren Benutzer öffnen Benutzer müssen die Anwendung aus der Bewerbungsliste auswählen

     File targetFile = new File(path); Uri targetUri = Uri.fromFile(targetFile); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(targetUri, "application/*"); startActivityForResult(intent, DOC); 

    Hier ist eine Methode, um dies für Sie zu kümmern:

     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:")); } 

    Sie können Datei in Webview öffnen, wenn Sie in App öffnen möchten. Ex:

      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"); 

    Sie können die Datei von der Rohressource zu sdcard kopieren und dann startActivity () auf eine ACTION_VIEW Intent aufrufen, die einen Uri hat, der auf die lesbare Kopie zeigt und auch den richtigen MIME-Typ hat.

    Natürlich wird das nur an einem Gerät funktionieren, das einen Word-Dokument-Viewer hat.

    Hier ist der komplette Weg, um .doc-Datei in Android 7.0 oder weniger zu öffnen:

    Schritt 1: Zuerst platziere deine pdf-Datei in den Assets-Ordner wie der folgende Screenshot. Platzieren von doc-Datei in Assets-Ordner

    Schritt 2: Gehe nun auf build.gradle Datei und füge folgende Zeilen hinzu:

     repositories { maven { url "https://s3.amazonaws.com/repo.commonsware.com" } 

    }

    Und dann unter Abhängigkeiten fügen Sie die folgende Zeile und sync:

     compile 'com.commonsware.cwac:provider:0.4.3' 

    Schritt-3: Jetzt füge eine neue Java-Datei hinzu, die sich von FileProvider erweitern FileProvider Wie in meinem Fall Dateiname ist LegacyCompatFileProvider und Code innerhalb von ihm.

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

    Schritt 4: Erstellen Sie einen Ordner mit dem Namen "xml" unter "res" Ordner. (Wenn der Ordner schon da ist dann keine Notwendigkeit zu erstellen). Füge nun eine Datei " providers_path.xml " im Ordner " xml hinzu. Hier ist der Screenshot: Place of provider_path xml-Datei

    Inside-Datei fügen folgende Zeilen hinzu:

     <?xml version="1.0" encoding="utf-8"?> <paths> <files-path name="stuff" /> </paths> 

    Schritt 5: Gehen Sie nun auf AndroidManifest.xml Datei und folgende Zeilen 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> 

    Schritt 6: Gehen Sie nun zur Aktivitätsklasse, von wo aus Sie pdf laden und folgende 1 Zeile hinzufügen können und diese 2 Methoden:

     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(); } 

    Jetzt rufen Sie LoadPdfFile Methode an und übergeben Sie Ihren Dateinamen ohne .doc wie in meinem Fall "chapter-0" und es wird die doc-Datei in der doc-Reader-Anwendung öffnen.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.