Bevor Android N
in meiner app nach Herunterladen einer Datei öffne ich es mag:eine heruntergeladene Datei in Android N
Intent myIntent = new Intent(Intent.ACTION_VIEW);
File myFile = new File(result);
String mime = URLConnection.guessContentTypeFromStream(new FileInputStream(myFile));
myIntent.setDataAndType(Uri.fromFile(myFile), mime);
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
Seit Android N
wenn ich diesen Code verwende ich ein FileUriExposedException
bekommen, wie here schlug ich verwenden sollte die FileProvider und den Weg bekommen wie:
Uri contentUri = getUriForFile(getContext(), "com.mydomain.fileprovider", newFile);
und es dann mit öffnen:
ParcelFileDescriptor.openFile(Uri uri,String mode)
als here vorgeschlagen, wo es heißt Uri: A content URI associated with a file, as returned by getUriForFile().
Aber in dem IDE, wenn ich ParcelfileDescriptor.open...
gibt es keine Methode openFile()
nur open()
mit einer Datei als Parameter und keine uri. Also wie kann ich eine Datei in Android N öffnen?
Hinweis: Ich möchte keine Datei mit meiner Anwendung öffnen. Wenn ich beispielsweise eine PDF-Datei herunterlade, möchte ich sie mit der installierten App auf dem Telefon öffnen.
[Check this] (http://stackoverflow.com/a/41570845/6333971) –