Last month, I wrote about an apparent bug in Android R, where
one-time permission expiration sometimes kills alarms and jobs.
Google investigated and concluded that it is really an Android Studio problem.
I can confirm their basic findings ��� the problem does not show up if
you install and run the sample app from the command line,
for example.
What is supposed to happen when a one-time permission is revoked is that the app���s
process is terminated. This is in line with how other permission revocations are
handled. Other than the process termination happening relatively rapidly after the app
leaves the foreground, there is nothing unusual here.
Android Studio, though, does not feel that this is punitive enough. Studio wants
to teach that app who is in charge. So, Studio uses adb to force-stop the app
(somehow���) when it detects that a process that Studio started was terminated.
I do not know why Android Studio feels that it needs to be so mean.
Regardless, this means that the original problem should only happen during
development, not in production. This may complicate app development work, but it
should not harm users. While this is not ideal, it is much better than what I
was fearing.
Many thanks to Nicole Borelli and the rest of the Google team that investigated
the problem!
Published on September 13, 2020 05:04