Tasker can do Airplane mode only in Android 2.2 - 4.0. The application recommends to use Secure Settings plugin and rooted device to get the feature. It would be great to understand why Tasker fails with such a feature in later versions of Android.
The biggest reason why some Tasker tasks are broken on different Android versions is, because it doesn't require root access. From their website,
This simple concept profoundly extends your control of your Android device and it's capabilities, without the need for 'root' or a special home screen
Note that Secure Settings needs root access for Airplane mode. From its Play Store description,
Actions:
- Airplane Mode [System+ required 4.2+]
- Airplane Mode Radios [System+ required 4.2+].
The System+ indicates that the app needs to be installed as system app, which requires root.
.. the change of the Android version may make the program (i.e. Tasker) not working. I think this kind of situation can be avoided by using APIs or designing APIs i.e. understanding which API we need for such communication
Partially right. The change of the Android version also affects Android API, and since Tasker only uses the API, it becomes its weakness. Take an example of Airplane mode on Android 4.2+ (on Stack Overflow). The code for Airplane mode is working for Android 4.1, but then it's broken since Android 4.2. It's due to change in system's settings structure. CommonsWare explains it better on his website,
Lots of people have already chimed in on StackOverflow about
Settings.Global
, notably the fact thatAIRPLANE_MODE
is no longer available to be modified inSettings.System
. Now, onlysignature|system
apps will be able to toggle on and off airplane mode, which will wipe out many an app widget.
Due to the fact that Tasker doesn't require root access, combined with the change in Android API, some of Tasker tasks did and may fail in the future. Finally, that's the reason why there are many 3rd-party plugins that require root access to workaround with Tasker's limitation.