I personally always use fill paths.
If File.Exists(Filepath, Filename) Then Log("OK")
You will find a lot of the time you will need either fine or course (I always use fine) when accessing things like WiFi, Bluetooth etc, they can't be avoided, from SDK 23 and higher google implemented RTP (RunTimePermissions), and from next year Google are basically forcing developers to set their manifest Target SDK to 26, so there's definitely no way to avoid this, well not for the play store anyway...
ACCESS_COARSE_LOCATION
String ACCESS_COARSE_LOCATION
Allows an app to access approximate location. Alternatively, you might want
ACCESS_FINE_LOCATION.
Protection level: dangerous
Constant Value: "android.permission.ACCESS_COARSE_LOCATION"
ACCESS_FINE_LOCATION
String ACCESS_FINE_LOCATION
Allows an app to access precise location. Alternatively, you might want
ACCESS_COARSE_LOCATION.
Protection level: dangerous
Constant Value: "android.permission.ACCESS_FINE_LOCATION"