Android 6 persistent notification icon

If you don't want to have the persistent icon download this version of Light Flow https://play.google.com/store/apps/details?id=com.rageconsulting.android.lightflowlegacy

If on the full version of the app, keep the full version still installed as this will authenticate your purchase. It will miss out on any android 6.0 features but will not show the persistent icon.
Ensure the full version you are on is version 3.60.12 or later for this.

Why do the latest builds have the Persistent notification?
Previous versions of Light Flow have targeted an omission in Android's API which allowed a notification to get created to control the LED without a notification. Since android 4.3 in the system logs there's been warnings that future versions of Android will cause apps to crash using this method.

Android 6 preview 1 and 2 had this warning, but Preview 3 and the official release changed to crashing apps.

Therefore light flow now needs a persistent notification (but only when the notification bar is pulled down). Without it the app would crash (using the previous method) or loose control of the notification led when other app tried to control it and wouldn't be able to regain control. 

Note that you'll sometimes see a flicker of the notification icon when switching on the screen. This is because light flow now has to dynamically change the notification when the screen switches on/off. When it's off the app needs to have the notification set to priority "normal" as that's the mode that the led will show. When the screen is on (to prevent a permanent notification in the notification bar at the top) the app changes the notification to priority "minimum". The change can sometimes take up to about a second depending on how quickly android broadcasts out the screen state change.

In versions of Light Flow prior to version 3.60.0 even in Android 6 you wouldn't need this notification. This is because the when creating an app you select a "target" version of Android. Versions prior to 3.60.0 targeted android 5.1, version 3.60.0 upwards target android 6. Android won't crash apps targeting older versions to try and keep apps from crashing.

The app has to target android 6 to use new great features like permission controls, auto backup and any new feature that'll come in future versions of android.

I've raised a feature request with Google to improve LED control in future versions. It can be "starred" here https://code.google.com/p/android/issues/detail?id=190997

One advantage of having the persistent notification is that it can be combined with having the app run in the foreground which means it's less likely to miss notifications and be less effected by side effects of doze mode and battery optimizations.


 
Copyright Reactle Ltd