/** * Convert a {@link File} to an {@link Uri} * * @param file the file * @return Uri for this file */ public Uri getUriByFileProviderAuthority(File file) { return FileProvider.getUriForFile(_context, getFileProviderAuthority(), file); }
/** * Share the given file as stream with given mime-type * * @param file The file to share * @param mimeType The files mime type */ public void shareStream(File file, String mimeType) { Uri fileUri = FileProvider.getUriForFile(_context, getFileProviderAuthority(), file); Intent intent = new Intent(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_STREAM, fileUri); intent.putExtra(EXTRA_FILEPATH, file.getAbsolutePath()); intent.setType(mimeType); showChooser(intent, null); }
/** * Open a View intent for given file * * @param file The file to share */ public void viewFileInOtherApp(File file, @Nullable String type) { Uri fileUri = FileProvider.getUriForFile(_context, getFileProviderAuthority(), file); Intent intent = new Intent(Intent.ACTION_VIEW); intent.putExtra(Intent.EXTRA_STREAM, fileUri); intent.setData(fileUri); intent.putExtra(EXTRA_FILEPATH, file.getAbsolutePath()); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setDataAndType(fileUri, type); showChooser(intent, null); }