1

I have Samsung Galaxy S4 GT-I9506, Android 5.0.1 Lollipop. I am using the application, Tasker. I feel it is too visual. I would like to write its profiles and events by code such that I could easily communicate about them with my friends. For instance, how you can write the following process from their homepage in code?

during the night, turn on airplane mode to conserve battery/reduce radiation, but turn it off every 15 minutes to check for SMS/voicemail.

It would be so great to have a better control of Android's UI by functions. I think the GUI is not enough. I studied the case further. 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.

Any applications (MacroDroid) are ok for solutions but their solutions must be stable with explanation why they work. Like pointed above for Tasker, the change of the Android version may make the program 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. Much Android is hidden but still something can be thought through.


How can you automate by code and GUI in Android?

5
  • 1
    To close-voter: I don't think this is specifically developer-related because there's a "code" on the question. I read this question having 2 different problems: 1) writing Tasker data in code, and 2) Tasker GUI doesn't have full control on Android. While (1) is, uh, possible since it supports Tasker XML data, it's.. impractical, and still limited to Tasker functionality....
    – Andrew T.
    Commented Jan 5, 2016 at 5:16
  • 1
    (cnt'd) As for (2), using Tasker itself (regardless of GUI or XML) is limited to its functionality, so you have to ask their developer to add another function, or install 3rd-party plugins. So, I'm not quite sure what you're asking. Tasker itself support custom variable for profile and task, but I'm not so sure how extensive it is since I don't have any experience with that.
    – Andrew T.
    Commented Jan 5, 2016 at 5:18
  • @AndrewT. Tasker fails in the problem with Android >=5.0. That is the problem with GUI only applications that robust support cannot be maintained because no APIs exist between critical components of the software and the OS. Commented Jan 5, 2016 at 7:05
  • @Masi I acknowledged the issue with Android >=5.0 (I faced that before), and after did some research, I now know the reason. Now I see 2 questions on this revision: "It would be great to understand why Tasker fails with such a feature in later versions of Android" and "How can you automate by code and GUI in Android?". I can explain the former, but I'm still not sure about the latter, so is it okay to answer just the former?
    – Andrew T.
    Commented Jan 5, 2016 at 7:23
  • Yes, of course. Commented Jan 5, 2016 at 7:24

1 Answer 1

2

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 that AIRPLANE_MODE is no longer available to be modified in Settings.System. Now, only signature|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.

1
  • This is a great point The biggest reason why some Tasker tasks are broken on different Android versions is, because it doesn't require root access. From their website. It would be great to find a workaround here. Commented Feb 8, 2016 at 5:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .