Saturday, July 28, 2012

Re: [android-developers] READ_LOGS permission is not granted to 3rd party applications in Jelly Bean (api 16)

Besides debugging, there are a number of other things that are very useful to users that you can do with log access.  One of these, is apps that provide special per-app settings and hence need to know which app is currently running.  Here are some examples:

1. The SmartApp Protector app (and others like it) password-locks particular applications to prevent children from accessing them.  It needs to read logs to pop up its window on top of a launching app.  This is a very useful product to parents who want their kids to be able to occasionally play games on their phones but not do other things, and has 5-10 million downloads.  

2. My not yet officially released VolumeSwipe for the Kindle Fire--which lacks volume buttons--that enables a portion of the screen as a volume slider, but only in some media apps, so it doesn't get in the way where it's not needed.  This app needs to monitor which activity is being launched to turn the slider on/off.  

3. My not yet officially released PerApp which lets you lock orientation on a per-app basis (there are other apps for this, too), as well as adjust volume boost and screen time-out on a per-app basis.  

4. Some users, including myself, annoyed by the standard way Android devices do orientation switching--for my usage patterns, the orientation switches too often.  I like to be able to hold the phone at all sorts of angles without it switching orientation, but yet have the ability to switch it easily.  I have some test code on my phone which overrides the default orientation switching, so that it only switches if the phone is affirmatively held in an upright position.  But the code needs to know which app is running, because we don't want to override the switching in apps that don't allow any orientation switching.  

5. There is a Tasker plugin to detect app launch.  This enables many, many useful things.  For instance, suppose some game has annoying startup sounds.  It can be quite useful to a user to set Tasker to kill the media volume whenever that game starts.  

6. On devices where there is an API to change fonts, it could be VERY useful to change font face and/or size on a per-app basis.  On my PalmOS devices, I could do this with my FontSmoother app, and it was very convenient.

These kinds of things can provide a lot of value to users, and disabling log access forces users to have to root their devices to do these things.  The more that permissions like READ_LOGS are restricted in new OS versions, the more motivation users have to root their devices, with consequent much more serious security problems, in order to do cool things.  The millions of SmartApp Protector users might choose to delay upgrading to a JB device if they hear this app doesn't work on JB.

I realize it's probably too late for READ_LOGS.  But maybe some better documented alternative can be added for apps that need to detect app launch.

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate