title: Android permissions related issue
body: <p>I have an Android app that requires permission to read/write from/to external storage. When the app starts, it prompts the user to allow permission for external storage (and a bunch of other services - location, camera, etc). </p>
  
  <p>Here's how we do it:</p>
  
  <pre><code>ActivityCompat.requestPermissions(this, new String[]{WRITE_EXTERNAL_STORAGE, CAMERA,ACCESS_FINE_LOCATION,INTERNET,WRITE_SETTINGS,ACCESS_WIFI_STATE,READ_PHONE_STATE}, PERMISSION_REQUEST_CODE)
  </code></pre>
  
  <p>Now, there is also an authentication service for which we need to read from external storage. We call this authentication service during startup.</p>
  
  <p>Now, problem is: When you run the app for the 1st time after install, this call to authentication service may happen often before the permission to external storage is given. Because the authentication service has no permission to external storage, it fails authentication.</p>
  
  <p>Workaround we do now: manually enable permission after install and then run the app. Not a long term solution though.</p>
  
  <p>I did some reading and it seems in older API's we can force the permissions to be done during apk install itself. I am on API 29. Is it possible here to prompt the user to give permissions during install itself?</p>
  
  <p>I also understand that this is considered a critical service and we can't bypass permissions. Rather we cannot force permissions to be default.</p>
  
  <p>What I've done for now:</p>
  
  <p>Initialized the authentication service later in the code so it runs only after permissions are done.</p>
  
  <p>Is there a better solution available? Like some way to either force permissions for external storage by default or some other way? From what I have read, it doesnt look possible for the latest Android version. However, if there is a way to do this, pls let me know.</p>
  
  <p>Thanks,
  Anand</p>