System › Automation
thumb_up Follow me on GitHub to get notifications about my projects (like Fossdroid Core), thanks! close

Automation

Automate stuff on your device by creating rules.
Version: 1.6.22
Added: 11-03-2021
Updated: 24-03-2021
Create rules that are made of triggers and actions. A prominent example would be something like "Mute phone at work".

Here's a list of supported triggers and actions:

Supported triggers:
* Location
* Day/Time
* Charging state
* Battery level
* USB connection to computer established
* Your current speed
* Background noise (only until Android 7)
* Wifi connection
* Other applications running
* Airplane mode
* Roaming status
* NFC tags
* Bluetooth connection
* Headset connected
* Phone call running

Supported actions:
* Change wifi state
* Change bluetooth state
* Toggle USB tethering
* Toggle wifi tethering
* Toggle automatic screen rotation
* Make an HTTP request
* Change ringtone/sound setting
* Start another application
* Wait (in between other actions)
* Wakeup device's screen
* Toggle airplane mode
* Toggle mobile data connection
* Speak text
* Open music player
* Change screen brightness
* Send text message

It's quite hard to keep this app working across the many different hardwares as well as the many changes Android undergoes over the versions. I can test it in the emulator, but that cannot show all bugs.
So if a certain feature is not working on your device - let me know. Over the years I have fixed almost all bugs that have been reported to me. But for that I'm dependend on your input.

A word about the many permissions....

It lies in the nature of this type of application that it requires a lot of permissions. However most of them are entirely optional and are not requested unless one of the rules you created needs it.

Let's go through them quickly:
ACCESS_NETWORK_STATE, CHANGE_NETWORK_STATE: Check or change things like airplane mode, roaming.

ACCESS_WIFI_STATE, CHANGE_WIFI_STATE: Turn wifi on or off

INTERNET
That's required for any of these 3 reasons:
- You are using a locationing method that utilizes CellTowers (default setting)
- You are using triggerUrl as action
- You activate downloading news in settings

BLUETOOTH, BLUETOOTH_ADMIN: Check bluetooth connections or toggle BT on or off.

NFC: Use NFC tags if you created a rule that uses that.

Location (ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION, ACCESS_BACKGROUND_LOCATION): This should be self-explanatory - are you using a rule with locations or speed as trigger?

PROCESS_OUTGOING_CALLS: You can use current calls as trigger. E.g. if wife calls....

SEND_SMS: You can have SMS sent as action. If you choose to do so you can enter the destination number manually or optionally pick one of your contacts which brings us to READ_CONTACTS

READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE: If you initially installed the app after March 2021 this is not required. In the past the app used to store its config file on the regular storage like "sdcard". The permission is still in there to ensure the app is also still working for legacy users. There the app will migrate the files to the new location.

GET_TASKS: For trigger "check if another app is running"

BATTERY_STATS: Check battery level as trigger

MODIFY_AUDIO_SETTINGS, ACCESS_NOTIFICATION_POLICY:
From higher versions on this is required to be able to change, e.g. the ringtone or generally the sound settings.
https://stackoverflow.com/questions/43123650/android-request-access-notification-policy-and-mute-phone/43127589#43127589
ACCESS_NOTIFICATION_POLICY is also included to prepare for a new trigger - to use notifications of other applications as trigger. But this feature has not been implemented, yet.

RECORD_AUDIO: For trigger "check background noise". Btw - my use case for this is: My phone will turn on sounds in the morning. During the week that is quite early. But what if I have a day off? Then it will monitor the background noise as an additional condition. If there's noise it's fairly certain I'm actually awake. Unfortunately Google deactivated this feature with Android 8.

READ_PHONE_STATE: https://developer.android.com/reference/android/Manifest.permission#READ_PHONE_STATE

RECEIVE_BOOT_COMPLETED, FOREGROUND
Screenshot of Automation Screenshot of Automation Screenshot of Automation
code Source file_download Download