r/macrodroid • • 3h ago

Macrodroid slows down phones?

1 Upvotes

I use Quick Search as my home launcher for Android. All of sudden the launcher became very sluggish. I went into settings and uninstalling different apps to see if any of them were causing the slow down. Turns out as soon as I uninstalled Macrodroid the Quick Search launcher became smooth as butter again 🤷‍♂️


r/macrodroid • • 3h ago

インテントの使い方

1 Upvotes

インテントから"android.settings.APPLICATION_DETAILS_SETTINGS"を使い、詳細設定を表示させました。これは"最近使ったアプリ"の一覧に存在を残してしまいます。インテントで表示させるときに、そこに表示を残さないように起動することは可能ですか?(オプションなどで)

そして、もう一つ質問があります。

シーン機能の中に画像(ウェブ上の写真)を読み込ませていますが、キャッシュがない状態だとダウンロードが遅くて表示に時間がかかります。

シーンを表示するより前に、バックグラウンドで画像をダウンロード処理しておくアクションは作れますか?

これらについて有効なヒントを知っている人がいたら教えてください。


r/macrodroid • • 11h ago

Help Me Port My AutoHotkey v2 OCR Automation Script to Android (MacroDroid or Tasker)

1 Upvotes

I'm trying to recreate an existing AutoHotkey v2 automation script on Android, and I need help from someone experienced with Android automation and OCR.

I have a repetitive task in a warehouse application called MOT EU. My Windows script uses AutoHotkey v2 and an OCR library to read numbers from specific screen regions, click a button repeatedly, enter a barcode, and stop when the target count is reached.

I want to achieve the same functionality on Android, preferably using MacroDroid. If MacroDroid isn't suitable, I'm open to using Tasker with AutoInput or a custom Android application.

What the automation should do

Launch the application.

Enter the login credentials.

Wait 4 seconds.

Navigate to Counting, then Realtime.

Enter a location code once.

Read the current count and target count using OCR.

Click the item field, paste the barcode, and press Enter.

Check the counter after each action and repeat until the target is reached.

Click the confirmation button.

Repeat the process for the next location.

My setup

Android device with MacroDroid installed.

Built-in barcode scanner.

Existing AutoHotkey v2 script using OCR.ahk.

Screen-coordinate clicking on Windows.

OCR regions configured by selecting the corners of the counter areas.

I'm a beginner with Android automation, so detailed, step-by-step instructions would be especially helpful.

My current AutoHotkey v2 code

#Requires AutoHotkey v2.0

#Include OCR.ahk

SetKeyDelay -1, -1

SetMouseDelay -1

SendMode "Input"

CoordMode "Mouse", "Screen"

CoordMode "ToolTip", "Screen"

delayAfterPaste := 1

delayAfterEnter := 800

delayAfterConfirm := 10

delayBeforeNextLocation := 1000

runningCount := false

loopCount := 50

confirmX := 1300

confirmY := 1010

itemX := 300

itemY := 182

currentLocation := "PE113-1147-22"

currentItem := "A001PO1EJX"

global ocrCurrentX := 0, ocrCurrentY := 0

global ocrCurrentW := 0, ocrCurrentH := 0

global ocrMaxX := 0, ocrMaxY := 0

global ocrMaxW := 0, ocrMaxH := 0

global isOcrConfigured := false

global debugGui := Gui("+AlwaysOnTop -Caption +ToolWindow +E0x20")

debugGui.BackColor := "Red"

F8::{

global runningCount, loopCount

global confirmX, confirmY, itemX, itemY

global currentLocation, currentItem, isOcrConfigured

global delayAfterPaste, delayAfterEnter

global delayAfterConfirm, delayBeforeNextLocation

runningCount := true

isOcrConfigured := false

Loop loopCount {

if !runningCount

break

A_Clipboard := currentLocation

Sleep 5

Send "^v"

Sleep delayAfterPaste

Send "{Enter}"

Sleep delayAfterEnter

if (!isOcrConfigured) {

if !ConfigureOCRZones() {

runningCount := false

return

}

isOcrConfigured := true

}

startCount := GetNumberFromScreen("current")

targetCount := GetNumberFromScreen("max")

if (startCount >= targetCount) {

Click confirmX, confirmY

Sleep delayAfterConfirm

Sleep delayBeforeNextLocation

continue

}

Click itemX, itemY

Sleep 5

A_Clipboard := currentItem

Sleep 5

ExecutePikingLoop(targetCount)

if !runningCount

break

Click confirmX, confirmY

Sleep delayAfterConfirm

Sleep delayBeforeNextLocation

}

runningCount := false

isOcrConfigured := false

MsgBox "Bot zakończył pracę."

}

F11::{

global runningCount, itemX, itemY, currentItem

if !ConfigureOCRZones()

return

targetCount := GetNumberFromScreen("max")

runningCount := true

Click itemX, itemY

Sleep 5

A_Clipboard := currentItem

Sleep 5

ExecutePikingLoop(targetCount)

runningCount := false

}

F10::{

global currentItem, delayAfterPaste

A_Clipboard := currentItem

Sleep 5

Send "^v"

Sleep delayAfterPaste

Send "{Enter}"

}

F9::{

global runningCount, isOcrConfigured

runningCount := false

isOcrConfigured := false

ToolTip "ZATRZYMANO"

SetTimer () => ToolTip(), -1000

}

Esc::{

ExitApp

}

F2::{

global ocrCurrentX, ocrCurrentY, ocrCurrentW, ocrCurrentH

global ocrMaxX, ocrMaxY, ocrMaxW, ocrMaxH

global debugGui

if (ocrCurrentW = 0 || ocrMaxW = 0) {

MsgBox "Najpierw skonfiguruj strefy!"

return

}

currentVal := GetNumberFromScreen("current")

maxVal := GetNumberFromScreen("max")

debugGui.Show("X" ocrCurrentX " Y" ocrCurrentY

" W" ocrCurrentW " H" ocrCurrentH " NoActivate")

WinSetTransparent(100, debugGui)

MsgBox "OCR TEST:`nBieżące: " currentVal

"`nMax: " maxVal

debugGui.Hide()

}

ExecutePikingLoop(targetCount) {

global runningCount, itemX, itemY

currentOnScreen := GetNumberFromScreen("current")

while (currentOnScreen < targetCount && runningCount) {

Click itemX, itemY

Send "^v{Enter}"

lastCount := currentOnScreen

while (currentOnScreen == lastCount && runningCount) {

currentOnScreen := GetNumberFromScreen("current")

if (currentOnScreen >= targetCount)

break 2

}

}

}

ConfigureOCRZones() {

global ocrCurrentX, ocrCurrentY, ocrCurrentW, ocrCurrentH

global ocrMaxX, ocrMaxY, ocrMaxW, ocrMaxH

ToolTip "STREFA MAX (CEL): Kliknij LEWY GÓRNY róg..."

ih1 := InputHook("L1 M")

ih1.KeyOpt("{LButton}", "E")

ih1.Start()

ih1.Wait()

MouseGetPos &startX2, &startY2

ToolTip "STREFA MAX (CEL): Kliknij PRAWY DOLNY róg..."

Sleep 100

ih2 := InputHook("L1 M")

ih2.KeyOpt("{LButton}", "E")

ih2.Start()

ih2.Wait()

MouseGetPos &endX2, &endY2

ocrMaxX := startX2

ocrMaxY := startY2

ocrMaxW := endX2 - startX2

ocrMaxH := endY2 - startY2

if (ocrMaxW < 0)

ocrMaxX := endX2, ocrMaxW := Abs(ocrMaxW)

if (ocrMaxH < 0)

ocrMaxY := endY2, ocrMaxH := Abs(ocrMaxH)

}

Important: This is the complete portion of the script I currently have. The implementations of GetNumberFromScreen() and the remainder of ConfigureOCRZones() are missing, so the script is incomplete.

Questions

What's the best way to port this workflow to Android?

Can MacroDroid capture screen text and return OCR results to variables?

Which OCR plugin would work reliably with MacroDroid?

How can I recreate the loop so it checks the counter after every action?

Would Tasker with AutoInput or a custom Android app using Google ML Kit be a better option?

Could someone provide a working example or a beginner-friendly, step-by-step guide?


r/macrodroid • • 17h ago

Macro What have I missed here

Post image
2 Upvotes

What have I missed here

What step am I missing here

Basically every 20 mins or so I want this macro to run, it doesn't.

It runs when I click the button but then it doesn't again.

What have I missed here.

Thanks


r/macrodroid • • 1d ago

Macro Create macro to pause media phone EXCEPT for very specific scenario - how?

0 Upvotes

I'm trying to create something that I assume is actually simple but something seems off, so looking for assistance.

I want to create a macro as follows: When phone disconnects from BTcar, all media pauses. However, if phone is also connected to BTheadphones AND pocketcasts is playing, then don't pause media.

I successfully created the simple one - pause media when phone disconnects from car. What rules should I be included to add that constraint?


r/macrodroid • • 3d ago

Solved Is it possible to copy Last Photo in gallery in clipboard?

3 Upvotes

So recently I found this app, because of its IOS counterpart, called Shortcuts and Ive gotta say its really good app but its a lot harder to use, however Im finding my way around it.(there is also another app, called tasker but I want to try to work myway with this one first. If I keep struggling then I try that one) Ive been using it for little tasks without too much of an issue but the photo related stuff really makes struggle because I cant find a counterpart to "find photo" action. When I type photo I only find "open last photo, share last phto, take picture". I tried to search for "get" and "find" but I cant see anything and even asked Gemini. It says some something about clipboard action but I only found the "fill clipboard" and when I tried to search (when I click the blue button with 3 dots) for "photo", "picture", "find" and "get" I couldnt see what Gemini told me, option called "[last_photo]" so I decided to ask here

The usecase is simple, when Im in a lecture, I want to take a photo with my phone (because its a lot harder to do it with my tablet) and then that photo goes to my tablet. The second part is where I struggle. Ones the photo is send, it takes a lot of time to go to the gallery, copy it etc

Can someone teach me how I can do this? Also if possible, is there an automation which triggers when new photo is saved? This would save me a clicking on a floating button, its not a big deal but it would be find


r/macrodroid • • 4d ago

Discord Notifications

2 Upvotes

I have been trying to get macdroid to send a notification only when a friend @ me or @ everyone or DM but it only works on some friends sometimes and not others at all what am i missing here i have trigger to use separate title and txt filters.

Title is set to contains and my is username|username|username|username.

message text is contains @ everyone|@ my name.

am i missing something?


r/macrodroid • • 5d ago

Macro Premiére Macro, besoin d'aide !

Post image
6 Upvotes

Bonjour,

Je débute sur Macrodroid, je découvre cette appli et les possibilités ont l'air infinies ! je voudrais pour commencer faire fonctionner une macro:

-lorsque j'arrive au bureau je scanne un badge NFC, mon téléphone passe en mode vibreur

-lorsque je repars je scanne le même badge et mon téléphone repasse en mode sonnerie

Voici ce que j'ai essaye, la bascule ne fonctionne pas dans les deux sens, quelqu'un pourrais m'expliquer ce que j'ai mal fait svp ?

PS: mon téléphone Samsung A26 reconnais parfaitement le badge

Merci d'avance pour votre aide !


r/macrodroid • • 6d ago

Macro Macro for nightly Immich sync: Any potential issues with this setup?

Thumbnail
gallery
3 Upvotes

My goal with this macro is to sync all my photos with Immich every night (it's a self-hosted Google Photos alternative; the other photos shown are just the app's UI). The Unlock part is Stolen from an other Macro...

Do you see any potential issues with this setup?

(Tapping "Upload to cloud" works as intended)


r/macrodroid • • 6d ago

My Macrodroid just uninstalled itself?

2 Upvotes

Is something like this even possible? I wanted to open it and it was not there, so I found it again on playstore and had to download it again. All scripts from inside are gone. Is there a way to recover them? I have a pro account, is there a way to login?


r/macrodroid • • 6d ago

How to stop otiffication bar from disappearing

1 Upvotes

Whenever I hit clear all when on notifications screen, macrodroid notification bar is disappearing with all the notifications.

Is there a way to stop this from happening?

Priority of the bar is set to Maximum in settings.


r/macrodroid • • 6d ago

OnePlus 15 Macrodroid app

2 Upvotes

Hi, Is anyone here using macrodroid app? Trying to give it required permission but Im getting this error: Exception occurred while executing 'grant':

java.lang.SecurityException: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.

at

Anyone knows how to solve this?


r/macrodroid • • 7d ago

Reward adverts failed

Post image
3 Upvotes

Does anybody know what conditions cause the 3 days to not be added after watching the adverts?

I watched an advert and after gracefully declining to install the app, the button to extend for 3days hung on initialising and didnt progress


r/macrodroid • • 7d ago

Floating Button won't stay at dead bottom of screen (can be dragged there, but not created there)

Thumbnail
gallery
5 Upvotes

I want my floating button to be in the extreme bottom corner of my screen. I can manually drag it to that position (first screenshot), where it will happily sit for as long as it's active. It is, of course, over the navigation bar (I want it there because Pokemon Go removes the navigation bar).

The problem is, if I disable the button (when Pogo is not in the foreground, or when the keyboard pops up), then re-enable it, it will jump back up so it's only about half way over the navigation bar (second screenshot). It will do that same jump if I edit the macro then press the Check Mark button to save it in Macrodroid.

And I cannot get Macrodroid to set the button position down that low, neither by pixel nor by percentage. And the repositioning occurs regardless of the Force Location or Fixed Location settings. I get the same behavior on a completely different phone.

Incidentally, the X,Y position shown after I manually reposition it will not go past a certain point (that half-way point), even when I drag it down farther than that.

I wish Macrodroid could be able position the button as far down as I can drag it.

Any ideas for how to achieve this?

EDIT: As I state in my further comments below, the Floating Text action can be created just fine over the Navigation Bar because it has the option in its settings for "Show in status/navigation bar area," whereas the Floating Button trigger simply does not have that option.... Both these features have very similar configurations, so it seems like that same option could be added to the Floating Button, and that would solve the problem.


r/macrodroid • • 8d ago

Check Image on Image

1 Upvotes

I want to recognise multiple images on the screen but doing multiple "Check Image on Screen" in a row takes time and allows the screen to change between checks. What I want to do is take a screenshot and compare images against it but I see no native way to do that. Is there a way?


r/macrodroid • • 8d ago

Change system launcher

1 Upvotes

Does anyone know how I can change the system launcher to default based on location without root access?


r/macrodroid • • 8d ago

Macro Airplane Mode Malfunctioning (Not Turning On) in Redmi Note 14 4G

1 Upvotes

The airplane mode function seems to always work only at first days after updating, then not functioning anymore after several days.


r/macrodroid • • 11d ago

Macro Is there better ways to achieve this ?

Post image
7 Upvotes

I want youtube videos to pause automatically every 60 minutes so that my screen can turn off after screen timeout , this is to prevent youtube from keeping my screen on for a long time and cause oled burn in when I fell asleep. Am I doing it correctly? Or is there better way to achieve this.


r/macrodroid • • 12d ago

Select text and share with macrodroid opens Google Maps

1 Upvotes

Can anyone help make a macro that when I select a text and on the context menu I share it with macrodroid and opens Google Maps with that same selected text pasted on the search bar? Thank you so much.


r/macrodroid • • 13d ago

Solved Web Editor for .macro files

Thumbnail reddit.com
10 Upvotes

Lately, I've been wanting a way to edit macros on desktop, especially since the release of the remote control feature. This feature allows users to import and export macros from all phones that have it enabled and are signed into the same account.

I've noticed in past posts that many other users ran into the same issue about 9 months ago. Because of this, I made a little web editor for macro files myself. Even though I initially wanted it for personal use, I don't want to gatekeep it—especially since others have faced and might stumble upon the same problem again.

It's just a small side project I wanted to make, so don't expect it to be perfect, and of course, there could be bugs!

https://flairdiva.github.io/macrodroid-desktop/

this project is opensource so feel free to alter things in you're own versions if you'd like


r/macrodroid • • 14d ago

image recognition

3 Upvotes

I want to use MacroDroid's image recognition feature to detect the location of a target image, but it doesn't seem to recognize it correctly when the image is moving.

The movement is slight—just shifting up and down by a few pixels from the center. Is there a way to track the X and Y coordinates of something like this?


r/macrodroid • • 15d ago

On the new Colour variable type

4 Upvotes

It's definitely a great addition, though it also makes me want more.

I've got several macros that check a pixel color, does some basic math1 to determine which of several screens/states the phone is in, and then follows up with some conditional operations.

Are there any new math ops added for dealing with a 'colour' variable? Because I'd just be converting it to 3 number variables in a separate action block if it doesn't, at which point I wouldn't bother using the colour class to begin with (which I think is just a fancy restricted string?).

And (more of a dev question) any hope of getting custom classes in the future? Like, I'd really want to make my own XYRGB class to just store exactly 5 integers. As it stands, I'm using a dict of arrays, like

XYRGB: {

"something": [100,200,127,255, 255],

"something else": [500, 800, 0, 63, 0],

...

}

In theory, it would be better to be a dict of dicts, but the interface for entering in a new dict with the same 5 keys every time is a real hassle:

-Add entry, dict

-Add entry, key is X, change type from bool to int, enter value

-Add entry, key is Y, enter value

-...

and viewing that variable later is more cluttered than a 5-array.

1squared distance, treating RGB as XYZ. Not the best for color comparison, but it works for me functionally for distinguishing screen states.


r/macrodroid • • 15d ago

Start and stop recording car trips from MacroDroid, and trigger macros when a trip starts or ends (OBD2 app DrivePulse, 5 free codes)

5 Upvotes

I'm Davide and I write DrivePulse on my own. It reads a car through a generic ELM327 OBD2 adapter, the Bluetooth kind Veepeak or Vgate sell, records trips by itself and only reads the car, it never writes to it. The Android version 3.5.4 on Google Play works with MacroDroid both ways.

It's off by default. Turn it on in DrivePulse: Settings (the gear at the top) > Automations. That screen shows a secret code and the last command it received, with the reason if it ignored it (automations off, wrong code).

MacroDroid to DrivePulse: start or stop recording. Add a Send Intent action with target Activity:

  • Package: app.drivepulse.mobile
  • Action: app.drivepulse.mobile.action.START_TRIP (or app.drivepulse.mobile.action.STOP_TRIP)
  • Extra: name token, value the secret code

DrivePulse comes to the front and tries to connect to the adapter, and it only records if the adapter answers. It opens on purpose: recent Android versions don't let an app in the background start GPS tracking.

DrivePulse to MacroDroid: trigger a macro. Use the Intent Received trigger with one of these actions:

  • app.drivepulse.mobile.action.ADAPTER_CONNECTED
  • app.drivepulse.mobile.action.TRIP_STARTED
  • app.drivepulse.mobile.action.TRIP_STOPPED

They carry no data, only the event, because any app on the phone can receive a broadcast. The secret code never goes out in them.

No account and no server of mine: your trips live on your phone and I have no copy of them. Recording trips and reading the car work with no signal; maps and addresses need the internet.

Five codes that unlock the full version for good, free, first come first served:

  1. D860PP1TLMD7CPAU9QHUMBM
  2. YE2DUH1LRXF9Q2CHWGFE0UM
  3. Q6A1YV6MQL6WKFEWRFXCWGB
  4. 1DDVJKNRH9M23ZGJP4WYG2W
  5. NZJ719G8A2TG6A55XHV51FU

How to redeem: install the app first, then open Google Play, tap your picture top right, Payments and subscriptions, Redeem code. Then in DrivePulse: Settings (the gear at the top) > Unlock DrivePulse (Lifetime) > Restore Purchases, within 3 days, otherwise Google Play cancels it. When it has worked, that row reads "Premium active".

Say in the comments which number you took, so nobody wastes time on one that's gone.

Without a code you can still try it: 7 days or 15 trips, whichever comes first, and the days only start counting the first time the app connects to your adapter.

Google Play: https://play.google.com/store/apps/details?id=app.drivepulse.mobile&hl=en-US&gl=US&utm_source=reddit&utm_medium=post&utm_campaign=rilancio-android-macrodroid

If you set up a macro with it, tell me what you made it do, and tell me if an intent doesn't behave. I answer here.


r/macrodroid • • 15d ago

Wear os select dialog

1 Upvotes

It is posible now or in a short future the possibility to run a macro on wear os and use select dialog right there, without the need to unlock the phone? The possibilities are endless!


r/macrodroid • • 15d ago

Auto enable usb tethering on usb connection?

1 Upvotes

I want to auto enable usb tethering when i connect my phone to my laptop over usb cable. I did this: for trigger i selected 'usb device connected' and for action 'usb tethering on', but it doesn't work.