Pakete, Repositories und App-Kategorien suchen

Paketdetailsv3.6.5

better_open_file

Dies ist eine Fork eines Plug-ins, das native Apps zum Öffnen von Dateien mit String-Ergebnis in Flutter aufrufen kann, unterstützt iOS (UTI) / Android (Intent) / PC (ffi) / Web (dart:html)

AndroidiOS
30-Tage-Downloads
1170
Likes
42
Pub-Punkte
140

Paket installieren

flutter pub add better_open_file

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

better_open_file ist ein Fork des Flutter-Plugins, das die Öffnung von Dateien über native System-Apps auf mehreren Plattformen ermöglicht. Es unterstützt iOS über UTI, Android über Intent, Desktop über FFI und Web über dart:html. Das Paket gibt eine Zeichenkette zurück, die das Ergebnis der Operation angibt, wodurch es ideal für die Handhabung von Dateiläufen in plattformübergreifenden Anwendungen ist. Auf Einfachheit und breite Kompatibilität ausgelegt, erweitert es die Funktionalität des ursprünglichen Plugins durch verbesserte Zuverlässigkeit und plattformspezifische Funktionen.

Anwendungsfälle

  • PDFs und Dokumente in Native-Apps öffnen
  • Dateien innerhalb von Flutter-Apps starten
  • Integration von Dateivorschauen über Plattformen hinweg
  • Dateitypen mit benutzerdefinierten Handlern verarbeiten
  • Dateibetrieb auf Mobilgeräten und Desktops unterstützen

Hauptmerkmale

  • Plattformübergreifendes Datei-Starten
  • String-Ergebnis-Rückmeldung
  • Unterstützung für iOS UTI und Android Intent
  • Desktop-Integration über FFI
  • Web-Kompatibilität mit dart:html

Geeignet für

  • Entwickler, die dateiintensive Apps erstellen
  • Apps, die native Dateiverwaltung erfordern
  • Plattformübergreifende Dateibetrachter
  • Bildungs- oder Dokumentenverwaltungstools
  • Projekte für iOS, Android und Desktop

Hinweise

  • Plattformspezifische Konfiguration erforderlich
  • Beschränkt auf unterstützte Dateitypen
  • Auf einigen Plattformen sind ggf. zusätzliche Berechtigungen erforderlich
  • Die Web-Unterstützung hängt von den Browser-Funktionen ab
  • Desktop-Unterstützung erfordert eine korrekte FFI-Einrichtung

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

better_open_file

pub package

NOTICE: This package is forked from here to remove a dangerous permission in android

What's was changed on this fork:

  • Updated to FFI 2.0.x
  • Removed android.permission.REQUEST_INSTALL_PACKAGES and android.permission.READ_EXTERNAL_STORAGE
  • Updated some Gradle configurations

A plug-in that can call native APP to open files with string result in flutter, support iOS(DocumentInteraction) / android(intent) / PC(ffi) / web(dart:html)

Usage

To use this plugin, add better_open_file as a dependency in your pubspec.yaml file.

dependencies:
  better_open_file: ^lastVersion

Example

import 'package:better_open_file/better_open_file.dart';

OpenFile.open("/sdcard/example.txt");
//OpenFile.open("/sdcard/example.txt", type: "text/plain", uti: "public.plain-text");

Support

android
{
            {".3gp",    "video/3gpp"},
            {".torrent","application/x-bittorrent"},
            {".kml",    "application/vnd.google-earth.kml+xml"},
            {".gpx",    "application/gpx+xml"},
            {".csv",    "application/vnd.ms-excel"},
            {".asf",    "video/x-ms-asf"},
            {".avi",    "video/x-msvideo"},
            {".bin",    "application/octet-stream"},
            {".bmp",    "image/bmp"},
            {".c",      "text/plain"},
            {".class",  "application/octet-stream"},
            {".conf",   "text/plain"},
            {".cpp",    "text/plain"},
            {".doc",    "application/msword"},
            {".docx",   "application/vnd.openxmlformats-officedocument.wordprocessingml.document"},
            {".xls",    "application/vnd.ms-excel"},
            {".xlsx",   "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},
            {".exe",    "application/octet-stream"},
            {".gif",    "image/gif"},
            {".gtar",   "application/x-gtar"},
            {".gz",     "application/x-gzip"},
            {".h",      "text/plain"},
            {".htm",    "text/html"},
            {".html",   "text/html"},
            {".jar",    "application/java-archive"},
            {".java",   "text/plain"},
            {".jpeg",   "image/jpeg"},
            {".jpg",    "image/jpeg"},
            {".js",     "application/x-javascript"},
            {".log",    "text/plain"},
            {".m3u",    "audio/x-mpegurl"},
            {".m4a",    "audio/mp4a-latm"},
            {".m4b",    "audio/mp4a-latm"},
            {".m4p",    "audio/mp4a-latm"},
            {".m4u",    "video/vnd.mpegurl"},
            {".m4v",    "video/x-m4v"},
            {".mov",    "video/quicktime"},
            {".mp2",    "audio/x-mpeg"},
            {".mp3",    "audio/x-mpeg"},
            {".mp4",    "video/mp4"},
            {".mpc",    "application/vnd.mpohun.certificate"},
            {".mpe",    "video/mpeg"},
            {".mpeg",   "video/mpeg"},
            {".mpg",    "video/mpeg"},
            {".mpg4",   "video/mp4"},
            {".mpga",   "audio/mpeg"},
            {".msg",    "application/vnd.ms-outlook"},
            {".ogg",    "audio/ogg"},
            {".pdf",    "application/pdf"},
            {".png",    "image/png"},
            {".pps",    "application/vnd.ms-powerpoint"},
            {".ppt",    "application/vnd.ms-powerpoint"},
            {".pptx",   "application/vnd.openxmlformats-officedocument.presentationml.presentation"},
            {".prop",   "text/plain"},
            {".rc",     "text/plain"},
            {".rmvb",   "audio/x-pn-realaudio"},
            {".rtf",    "application/rtf"},
            {".sh",     "text/plain"},
            {".tar",    "application/x-tar"},
            {".tgz",    "application/x-compressed"},
            {".txt",    "text/plain"},
            {".wav",    "audio/x-wav"},
            {".wma",    "audio/x-ms-wma"},
            {".wmv",    "audio/x-ms-wmv"},
            {".wps",    "application/vnd.ms-works"},
            {".xml",    "text/plain"},
            {".z",      "application/x-compress"},
            {".zip",    "application/x-zip-compressed"},
            {"",        "*/*"}
}

when Conflict with other plugins about FileProvider, add code below in your /android/app/src/main/AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="xxx.xxx.xxxxx">
    <application>
        ...
        <provider
                android:name="androidx.core.content.FileProvider"
                android:authorities="${applicationId}.fileProvider"
                android:exported="false"
                android:grantUriPermissions="true"
                tools:replace="android:authorities">
            <meta-data
                    android:name="android.support.FILE_PROVIDER_PATHS"
                    android:resource="@xml/filepaths"
                    tools:replace="android:resource" />
        </provider>
    </application>
</manifest>

when Android dependency 'com.android.support:appcompat-v7' has different version for the compile error, add code below in your /android/build.gradle

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "27.1.1"
            }
        }
    }
}
IOS with UTI (DocumentInteraction Auto)
{
            {".rtf",    "public.rtf"},
            {".txt",    "public.plain-text"},
            {".html",   "public.html"},
            {".htm",    "public.html"},
            {".xml",    "public.xml"},
            {".tar",    "public.tar-archive"},
            {".gz",     "org.gnu.gnu-zip-archive"},
            {".gzip",   "org.gnu.gnu-zip-archive"},
            {".tgz",    "org.gnu.gnu-zip-tar-archive"},
            {".jpg",    "public.jpeg"},
            {".jpeg",   "public.jpeg"},
            {".png",    "public.png"},
            {".avi",    "public.avi"},
            {".mpg",    "public.mpeg"},
            {".mpeg",   "public.mpeg"},
            {".mp4",    "public.mpeg-4"},
            {".3gpp",   "public.3gpp"},
            {".3gp",    "public.3gpp"},
            {".mp3",    "public.mp3"},
            {".zip",    "com.pkware.zip-archive"},
            {".gif",    "com.compuserve.gif"},
            {".bmp",    "com.microsoft.bmp"},
            {".ico",    "com.microsoft.ico"},
            {".doc",    "com.microsoft.word.doc"},
            {".xls",    "com.microsoft.excel.xls"},
            {".ppt",    "com.microsoft.powerpoint.​ppt"},
            {".wav",    "com.microsoft.waveform-​audio"},
            {".wm",     "com.microsoft.windows-​media-wm"},
            {".wmv",    "com.microsoft.windows-​media-wmv"},
            {".pdf",    "com.adobe.pdf"}
}

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.