This doesn't throw FileUriExposedException:
Intent mediaScanIntent = new Intent( Intent.ACTION_MEDIA_SCANNER_SCAN_FILE );
mediaScanIntent.setData( Uri.fromFile( new File( path ) ) );
context.sendBroadcast( mediaScanIntent );
This does:
Intent intent = new Intent();
intent.setAction( Intent.ACTION_VIEW );
intent.setDataAndType( Uri.fromFile( new File( path ) ), "image/*" );
context.startActivity( Intent.createChooser( intent, "View image" ) );
I was expecting a FileUriExposedException on the first one, as well?