If your targetSdkVersion is 24 or higher, we have to use FileProvider
class to give access to the particular file or folder to make them
accessible for other apps. We create our own class inheriting
FileProvider in order to make sure our FileProvider doesn't conflict
with FileProviders declared in imported dependencies as described
here.
Find relevant discussion here
Since Android 7, we don't use file: scheme as uri for intent, you have to use FileProvider.