之前Android N
我打開它想:下載文件後,在我的應用程序中打開的Android N A下載的文件
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);
由於Android N
如果我使用此代碼我得到一個FileUriExposedException
,作爲建議here我應該使用FileProvider並得到這樣的路徑:
Uri contentUri = getUriForFile(getContext(), "com.mydomain.fileprovider", newFile);
,然後打開它:
ParcelFileDescriptor.openFile(Uri uri,String mode)
的建議here在那裏說Uri: A content URI associated with a file, as returned by getUriForFile().
但是在IDE如果我做ParcelfileDescriptor.open...
沒有方法openFile()
只open()
用一個文件作爲參數,並沒有URI。那麼如何在Android N中打開文件?
注意:我不想用我的應用程序打開文件。例如,如果我下載PDF,我想用手機上已安裝的應用程序打開它。
[檢查這個(http://stackoverflow.com/a/41570845/6333971) –