- // Create a file saved snackbar.
- Snackbar imageSavedSnackbar = Snackbar.make(nestedScrollWebView, activity.getString(R.string.file_saved) + " " + filePathString, Snackbar.LENGTH_SHORT);
-
- // Add an open action.
- imageSavedSnackbar.setAction(R.string.open, (View view) -> {
- // Get a file for the file path string.
- File file = new File(filePathString);
-
- // Declare a file URI variable.
- Uri fileUri;
-
- // Get the URI for the file according to the Android version.
- if (Build.VERSION.SDK_INT >= 24) { // Use a file provider.
- fileUri = FileProvider.getUriForFile(context, activity.getString(R.string.file_provider), file);
- } else { // Get the raw file path URI.
- fileUri = Uri.fromFile(file);
- }
-
- // Get a handle for the content resolver.
- ContentResolver contentResolver = context.getContentResolver();
-
- // Create an open intent with `ACTION_VIEW`.
- Intent openIntent = new Intent(Intent.ACTION_VIEW);
-
- // Autodetect the MIME type.
- openIntent.setDataAndType(fileUri, contentResolver.getType(fileUri));
-
- // Allow the app to read the file URI.
- openIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
-
- // Show the chooser.
- activity.startActivity(Intent.createChooser(openIntent, context.getString(R.string.open)));
- });
-
- // Show the image saved snackbar.
- imageSavedSnackbar.show();