Related
My X is paired to my 2013 F-150 via SYNC and it automatically adds the voice, media and message features upon connecting. However, every time I get a text, SYNC stops everything to tell me I have a new text message, and it's annoying. You can turn MAP off temporarily by manually disabling it while the phone is paired, but once it re-pairs with SYNC, it automatically activates MAP again. I do use the voice and media though.
My question is this... is there any way to permanently disable the MAP feature on the X? I don't use it and never will. I always check my phone when a new message arrives or wait until I'm at a stop. I just want to be able to be able to remove the MAP feature.
triton302 said:
My X is paired to my 2013 F-150 via SYNC and it automatically adds the voice, media and message features upon connecting. However, every time I get a text, SYNC stops everything to tell me I have a new text message, and it's annoying. You can turn MAP off temporarily by manually disabling it while the phone is paired, but once it re-pairs with SYNC, it automatically activates MAP again. I do use the voice and media though.
My question is this... is there any way to permanently disable the MAP feature on the X? I don't use it and never will. I always check my phone when a new message arrives or wait until I'm at a stop. I just want to be able to be able to remove the MAP feature.
Click to expand...
Click to collapse
You can probably unpair (from both the phone and sync) and then repair and when you repair just deny the MAP access request.
Also, you should be able to turn off new message download in Sync
triton302 said:
My X is paired to my 2013 F-150 via SYNC and it automatically adds the voice, media and message features upon connecting. However, every time I get a text, SYNC stops everything to tell me I have a new text message, and it's annoying. You can turn MAP off temporarily by manually disabling it while the phone is paired, but once it re-pairs with SYNC, it automatically activates MAP again. I do use the voice and media though.
My question is this... is there any way to permanently disable the MAP feature on the X? I don't use it and never will. I always check my phone when a new message arrives or wait until I'm at a stop. I just want to be able to be able to remove the MAP feature.
Click to expand...
Click to collapse
Did you ever find a solution for this? I just got a '14 Raptor and it does the same damned thing. I've deleted the phone pairing and repaired and deny access when repairing but it still automatically connects to all 3 protocols when I get in the truck. My phone is actually an LG G3 but it seems to be an android problem and not a specific phone problem.
boosting1bar said:
Did you ever find a solution for this? I just got a '14 Raptor and it does the same damned thing. I've deleted the phone pairing and repaired and deny access when repairing but it still automatically connects to all 3 protocols when I get in the truck. My phone is actually an LG G3 but it seems to be an android problem and not a specific phone problem.
Click to expand...
Click to collapse
Nope. I also got a '14 Focus ST and the bluetooth "feature" is even worse on it. Since I have the full touchscreen, it will now display the notification that I have a text, and who it's from. Again, you can temporarily disable it on the phone but not permanently.
triton302 said:
Nope. I also got a '14 Focus ST and the bluetooth "feature" is even worse on it. Since I have the full touchscreen, it will now display the notification that I have a text, and who it's from. Again, you can temporarily disable it on the phone but not permanently.
Click to expand...
Click to collapse
Yeah that's exactly what I'm getting in my 14 Raptor. Terrible, I guess I have to disable it every time I get in the car now.
triton302 said:
Nope. I also got a '14 Focus ST and the bluetooth "feature" is even worse on it. Since I have the full touchscreen, it will now display the notification that I have a text, and who it's from. Again, you can temporarily disable it on the phone but not permanently.
Click to expand...
Click to collapse
Do you guys have root? if so maybe you can try something. but keep in mind I have not tried this myself and also I could be completely wrong.
Anyway, I noticed in my moto x build.prop file (that sets the phone settings on boot) that one of the lines seems to disable Bluetooth SAP on boot. The line is
ro.qualcomm.bluetooth.sap = false
if that can turn off SAP maybe
ro.qualcomm.bluetooth.map = false
can turn off MAP on boot.
Keep in mind editing build.prop the wrong way can give you boot up problems. Backup the file, and also keep track of and set the appropriate permissions for the file.
In fact, it's probably better before editing build.prop to try the setting on the fly. In a terminal emulator with SU enabled try the line
setprop ro.qualcomm.bluetooth.map false
then check that with getprop and with your car.
this is safer if you have any problems you can just reboot. if it works you can proceed to build.prop
dtg7 said:
Do you guys have root? if so maybe you can try something. but keep in mind I have not tried this myself and also I could be completely wrong.
Anyway, I noticed in my moto x build.prop file (that sets the phone settings on boot) that one of the lines seems to disable Bluetooth SAP on boot. The line is
ro.qualcomm.bluetooth.sap = false
if that can turn off SAP maybe
ro.qualcomm.bluetooth.map = false
can turn off MAP on boot.
Keep in mind editing build.prop the wrong way can give you boot up problems. Backup the file, and also keep track of and set the appropriate permissions for the file.
In fact, it's probably better before editing build.prop to try the setting on the fly. In a terminal emulator with SU enabled try the line
setprop ro.qualcomm.bluetooth.map false
then check that with getprop and with your car.
this is safer if you have any problems you can just reboot. if it works you can proceed to build.prop
Click to expand...
Click to collapse
Great idea, however I just tried it with no avail.
I just thought of something as well... my fiance has a '13 Focus SE with the base stereo, and she has the same model phone as me (VZW X Dev). Her SYNC doesn't alert her to new messages, but my truck with the same SYNC setup did, but I figured my truck had a more recent version of SYNC. I dunno, all I know is it's annoying as hell and I'd like to find a more permanent solution. Especially since I'm contemplating on buying the Droid Turbo in the future and I'm sure it will do the same thing.
triton302 said:
Great idea, however I just tried it with no avail.
Click to expand...
Click to collapse
That sucks... Just to clarify I assume you tried this with a terminal emulator. did you remember to give it root before running the setprop command? i.e. type su and enter. without root setprop will appear to go through but won't actually set anything. And if it's set properly, getprop ro.qualcomm.bluetooth.map should return false like it does for SAP. otherwise it will return empty.
Another thing that might or might not make a difference, was Bluetooth on when you tried this, if so try it with Bluetooth off.
As for the difference between the two SYNCs my guess is you're right the version difference could be affecting something. A quick Google search suggests some versions of SYNC have a setting for MAP. in SYNC menu check System Settings -> Advanced -> MAP Profile
dtg7 said:
That sucks... Just to clarify I assume you tried this with a terminal emulator. did you remember to give it root before running the setprop command? i.e. type su and enter. without root setprop will appear to go through but won't actually set anything. And if it's set properly, getprop ro.qualcomm.bluetooth.map should return false like it does for SAP. otherwise it will return empty.
Another thing that might or might not make a difference, was Bluetooth on when you tried this, if so try it with Bluetooth off.
As for the difference between the two SYNCs my guess is you're right the version difference could be affecting something. A quick Google search suggests some versions of SYNC have a setting for MAP. in SYNC menu check System Settings -> Advanced -> MAP Profile
Click to expand...
Click to collapse
The newer SYNC version doesn't have that MAP option, that was the first thing I found when googling as well. (and for the record I don't have a moto, I'm using an LG G3 and found this thread while searching for a solution). Unfortunately my build.prop doesn't have those lines in it. Not sure if I could just add the MAP entry or not, that's above my knowledge base
boosting1bar said:
The newer SYNC version doesn't have that MAP option, that was the first thing I found when googling as well. (and for the record I don't have a moto, I'm using an LG G3 and found this thread while searching for a solution). Unfortunately my build.prop doesn't have those lines in it. Not sure if I could just add the MAP entry or not, that's above my knowledge base
Click to expand...
Click to collapse
well without putting in commands manually I see two things you guys can try. the first doesn't need root while the second one does.
1) turn on Bluetooth on your phones, then go to Settings -> Apps -> Running -> Bluetooth Share then just Stop the Map service. This method will stick as long as you don't turn off Bluetooth and start it again, and as long as you don't restart the phone. if you do either you'll have to do the stopping again.
2) this requires that your phone be rooted, but on the plus side it might be more permanent. There's a nifty app in the play store made by some benevolent developer that claims to disable any service started by any app. appropriately enough the app is called Disable Service. You open the app, slide over to the System Apps section, find Bluetooth Share and click it, then just uncheck the Maps service box. So simple, but won't work without root. Try it with Bluetooth off and if that doesn't work reset it then try it with Bluetooth on. But word of caution you don't want to go messing around disabling other things unless you're sure of what you're doing. disabling the wrong thing will cause you problems.
https://play.google.com/store/apps/details?id=cn.wq.disableservice
good luck.
dtg7 said:
well without putting in commands manually I see two things you guys can try. the first doesn't need root while the second one does.
1) turn on Bluetooth on your phones, then go to Settings -> Apps -> Running -> Bluetooth Share then just Stop the Map service. This method will stick as long as you don't turn off Bluetooth and start it again, and as long as you don't restart the phone. if you do either you'll have to do the stopping again.
2) this requires that your phone be rooted, but on the plus side it might be more permanent. There's a nifty app in the play store made by some benevolent developer that claims to disable any service started by any app. appropriately enough the app is called Disable Service. You open the app, slide over to the System Apps section, find Bluetooth Share and click it, then just uncheck the Maps service box. So simple, but won't work without root. Try it with Bluetooth off and if that doesn't work reset it then try it with Bluetooth on. But word of caution you don't want to go messing around disabling other things unless you're sure of what you're doing. disabling the wrong thing will cause you problems.
good luck.
Click to expand...
Click to collapse
Thanks so much! Option 2 is exactly what I've been looking for! Option 1 doesn't work for me because I use Trigger and have conditional BT on/off and that would just recreate the same problem lol.
Just tried option 2... If any of those services are unchecked, Bluetooth itself turns off automatically and won't turn back on until that service is restored.
triton302 said:
Just tried option 2... If any of those services are unchecked, Bluetooth itself turns off automatically and won't turn back on until that service is restored.
Click to expand...
Click to collapse
Yep same here, tried it on my way home yesterday and the disable service app completely disables bluetooth if you disable MAP.
boosting1bar said:
Yep same here, tried it on my way home yesterday and the disable service app completely disables bluetooth if you disable MAP.
Click to expand...
Click to collapse
Wow no breaks...but not quite out of ideas yet. a few more to spitball, going from simple to more complex:
a) we've established there's no option to disable MAP from within SYNC under System Settings. What about under Phone Settings? Indications are there should be an option there to turn off Message Notification. If it's there set it to OFF. frankly I'd expect there to be such a setting somewhere in there.
b) reaching a bit here, but in Disable Service app I notice there's another system app that has Bluetooth service settings. the app's name is org.codeaurora.bluetooth (Apparently Code Aurora is the Qualcomm Linux kernel). No idea if this will work where the other failed but won't hurt to try. the service says BluetoothMasService but if you check the full name it is map (maybe service instead of profile).
c) this one brings out the big guns. not only do you need root, but you also need Xposed installed. if you already have Xposed then it would be quick to try. if not, just read up on it. anyway, with Xposed installed you need the AppOpsXposed module. when you have that up and running you open the App Ops screen of the Bluetooth Share app (a few ways to do that, doesn't matter how). in that screen you turn off all of Bluetooth Share's access to SMS. Basically you disable Bluetooth from interacting with Messaging. you revoke the permissions. Bluetooth will still work unaware that it can't access messages, and I figure if it can't access messages it damn well can't send them to the car.
There's another module that can do this more thoroughly, but App Ops is less scary/more user friendly.
that's it. personally I still prefer my original idea of figuring out how to do it manually thru setprop and build.prop, but if that's not an option then try these.
Roger, I'm off work today so I'll try these out here shortly.
EDIT: From what I recall, if you have a recent version of MFT, there are no options whatsoever for MAP, in phone or system settings. I'll double check.
EDITING EDIT: #2 doesn't work.
dtg7 said:
Wow no breaks...but not quite out of ideas yet. a few more to spitball, going from simple to more complex:
a) we've established there's no option to disable MAP from within SYNC under System Settings. What about under Phone Settings? Indications are there should be an option there to turn off Message Notification. If it's there set it to OFF. frankly I'd expect there to be such a setting somewhere in there.
b) reaching a bit here, but in Disable Service app I notice there's another system app that has Bluetooth service settings. the app's name is org.codeaurora.bluetooth (Apparently Code Aurora is the Qualcomm Linux kernel). No idea if this will work where the other failed but won't hurt to try. the service says BluetoothMasService but if you check the full name it is map (maybe service instead of protocol).
c) this one brings out the big guns. not only do you need root, but you also need Xposed installed. if you already have Xposed then it would be quick to try. if not, just read up on it. anyway, with Xposed installed you need the AppOpsXposed module. when you have that up and running you open the App Ops screen of the Bluetooth Share app (a few ways to do that, doesn't matter how). in that screen you turn off all of Bluetooth Share's access to SMS. Basically you disable Bluetooth from interacting with Messaging. you revoke the permissions. Bluetooth will still work unaware that it can't access messages, and I figure if it can't access messages it damn well can't send them to the car.
There's another module that can do this more thoroughly, but App Ops is less scary/more user friendly.
that's it. personally I still prefer my original idea of figuring out how to do it manually thru setprop and build.prop, but if that's not an option then try these.
Click to expand...
Click to collapse
I think we have a winner! #3 works perfectly.
I tested it with the phone unlocked and locked, rebooting the phone, toggling bluetooth on and off, turning the car on and off... seems to work every time. As long as you turn off just the SMS/MMS options, you can still have it send and receive calls and allow the device to remain unlocked while connected.
Ahhhh...... Success feels good...
Xposed is pretty amazing... It gives us a fighting chance lol.
if only they'd installed Xposed on Skynet things might have turned out differently...
dtg7 said:
c) this one brings out the big guns. not only do you need root, but you also need Xposed installed. if you already have Xposed then it would be quick to try. if not, just read up on it. anyway, with Xposed installed you need the AppOpsXposed module. when you have that up and running you open the App Ops screen of the Bluetooth Share app (a few ways to do that, doesn't matter how). in that screen you turn off all of Bluetooth Share's access to SMS. Basically you disable Bluetooth from interacting with Messaging. you revoke the permissions. Bluetooth will still work unaware that it can't access messages, and I figure if it can't access messages it damn well can't send them to the car.
There's another module that can do this more thoroughly, but App Ops is less scary/more user friendly.
Click to expand...
Click to collapse
Awesome, worked here as well!! I'd looked through xposed and didn't see any modules that would do what we were after, completely forgot about AppOps. Outstanding work and thanks so much for the help!
You're welcome!
boosting1bar said:
Awesome, worked here as well!! I'd looked through xposed and didn't see any modules that would do what we were after, completely forgot about AppOps. Outstanding work and thanks so much for the help!
Click to expand...
Click to collapse
How did you get this yo work? I am on a cm12 Rom also with the same issue.
Did all the above, but anytime I start the Bluetooth afterwards, it just reactivates the "Read / Write sms messages permission all over again nd im back to square 1.
Sorry to bump an old thread. But its still yhe same issue I am dealing with.
Awesome developer Joao have (yesterday) released a brand new app called AutoTools to his big AutoApps-library. It´s supposed to be a ``supercharged Tasker´´. For example it has it´s own ``secure settings´´ very similar to the old original Secure Settings-app it self that stopped development a couple of years ago. And wait for it... it does NOT require root!
There are though warnings that claims the functions will not work on all phones and also to enable ``secure settings´´ you need to connect the phone to a PC and install a specific software etc. (all info is in the app).
I have not yet dived into all the functions myself but only checked it briefly. But this is exactly what Tasker needs And who else to bring it than Joao, he is really brilliant :good:
Read more HERE and take a look at the really informative Youtube video.
About the ``Secure settings´´ function.
AutoTools Secure Settings
This allows you to change settings on your device that you normally wouldn't be able to with Tasker
NO ROOT is needed for this action
Examples
Turn GPS on when in Google Maps, turn it off otherwise (No Root!)
Change Animation Speed with a Quick Tile on Android 7 and Above
Change input keyboard depending on situation
Set Screen Orientation
To use this, AutoTools needs to be granted permission to change secure settings on your device
How to grant AutoTools the Secure Settings permission
Enable Developer Mode: Go to Android Settings -> About Phone and look for the Build Number option. Touch it multiple times until developer mode is enabled.
Enable USB Debugging: Go to Android Settings -> and look for the Developer Options option. In there, enable the USB debugging option.
Install ADB on your PC: Check here for a quick way to do it.
Connect device to PC: Connect your device to a PC and look on your phone. A prompt should show up asking you to allow your phone to be debugged by your PC. Accept this.
Grant permission: Open a command line on your PC and write
adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS
Congratulations, AutoTools should now be able to use the "Secure Settings" action!
Click to expand...
Click to collapse
https://joaoapps.com/AutoApps/Help/...utotools.activity.ActivityConfigsettings.html
Warning info inside the app claims that ``mobile data´´ only will work on 25% of all devices, but I can confirm that it works on my S7 edge. Also power saver mode and GPS ''battery saver/high accuracy/off'' works as a charm.
Auto Tools been out for a hot minute…
snej81 said:
but I can confirm that it works on my S7 edge. Also power saver mode and GPS ''battery saver/high accuracy/off'' works as a charm.
Click to expand...
Click to collapse
And airplane mode?
You can toggle the Air Plane Mode by shell code, if you can't with that...
cottino said:
And airplane mode?
Click to expand...
Click to collapse
Just tried it and got some strange results lol. Airplane mode enables (icon lights up) and mobile data turns off BUT cell connection is still up and I can make calls and send texts. So you could say that I get ``almost airplane mode...´´.
I read about some Marshmallow bug though for third party apps writing system settings even with permissions, could be what causing this.. https://code.google.com/p/android/issues/detail?id=194376
loogielv said:
Auto Tools been out for a hot minute…
Click to expand...
Click to collapse
It has been out as a Beta app for a long time. It was released to the public a few days ago :-}
For Airplane Mode ( I don't have root), I use AutoInput to open up the notifications shade, then simulate a press of the airplane mode button. Works perfect
This is a lifesaver coming from Tasker + Secure Settings and System Module+ enabled which is not functioning with Marshmallow for GPS until I found someone talking about this app. Confirmed working with Marshmallow on LG G5 I'm very happy as soon as I saw it worked, I just bought the full version. This was the only issue I had as I like to use Waze often in my car and one or two less clicks is just another annoyance I didn't need :laugh:
can someone help me, I don't know how to install ADB, I'm running windows 10 home on my laptop,
Do i still need to do the adb command part if i'm rooted?
PAULRYAN52 said:
can someone help me, I don't know how to install ADB, I'm running windows 10 home on my laptop,
Click to expand...
Click to collapse
Not sure if you found the answer, but Google recently released an installer for just the tools like adb and fastboot: https://developer.android.com/studio/releases/platform-tools.html
I found out in the end
Hi everyone!
I just created my first Tasker plug-in. This plug-in enables you to send an adb shell command to any other device on the network that has adb over wifi enabled. I for example use it to turn my androidtv on or off by sending it the command "input keyevent POWER". You can also open specific activities in apps for example or simulate touch input.
Please read the description before using it and don't hesitate to leave feedback/bug reports/tips! This is my first app ever published so I still have a lot to learn.
You can download it for free from the play store:
https://play.google.com/store/apps/details?id=com.ADBPlugin
Edit: It's now also available on XDA Labs! You can find it here
First update is live!
This includes proper (cat)logs and Tasker errors if something went wrong, so if you run in any problems, you can now tell me . It also plays a lot nicer with the Tasker timeout system.
@Humpie
Thanks for this plugin. I allready made a project for my sony android tv. Start apps and controll media play.
But to make the plugin better I have some featur requests:
It would be nice to be able to work with tasker variables. e.g input text "%mytext".
Another feature reqest would be to get a output variable for commands with output like adb shell pm list packages.
MartelKombat said:
@Humpie
Thanks for this plugin. I allready made a project for my sony android tv. Start apps and controll media play.
But to make the plugin better I have some featur requests:
It would be nice to be able to work with tasker variables. e.g input text "%mytext".
Another feature reqest would be to get a output variable for commands with output like adb shell pm list packages.
Click to expand...
Click to collapse
Thanks for the tips! Will definitely add variable support and I'll also have a look at output variables. They are visible in the logs already, but not yet to tasker.
Why can't we use the built-in code Acton in Tasker? Is there a difference?
loogielv said:
Why can't we use the built-in code Acton in Tasker? Is there a difference?
Click to expand...
Click to collapse
In fact there is, since android 4.something google removed adb from android devices, so you can't perform adb commands from your phone, well aside from my plugin that is.
There would however be no difference if your remote device did have Tasker and you programmed it so that a certain action does something with code. However, you would have to figure out a way to contact that device etc...
Second update! The Plugin now has Tasker variable support!
(enjoy @MartelKombat btw I'm still thinking about how to implement your other request!)
I doont understand. I can type the code, but i do have to remove the "adb sell" part of the code but it's good to go… is that not what this plugin does?
Humpie said:
Thanks for the tips! Will definitely add variable support and I'll also have a look at output variables. They are visible in the logs already, but not yet to tasker.
Click to expand...
Click to collapse
Humpie said:
Second update! The Plugin now has Tasker variable support!
(enjoy @MartelKombat btw I'm still thinking about how to implement your other request!)
Click to expand...
Click to collapse
Any news on the output variable? I have high hopes since you mentioned you already see the output in the logs...
Thanks a lot for this plugin! It makes an unrooted phone much easier to control!
How to run root commands on an unrooted device with this plugin
I just wanted to share how I use this plugin, just to give others an example of what this nice plugin is capable of.
Recently, I bought a new device and for now, I have no intention of rooting it. Coming from a rooted OnePlus One, this means some of my Tasker profiles do not work as expected anymore and I have to find workarounds.
On LineageOS (and CyanogenMod before that), we have the option to display left/right cursor arrows in the navigation bar when typing text. I always loved this feature, since placing the cursor in the right position by tapping will always be a hit&miss game. Since my new device (S7 Edge) has no onscreen navigation bar, I was searching for a replacement solution to move the cursor. I came up with the idea that it would be quite handy to use the volume buttons for this. So, the idea was the following:
IF the keyboard is shown THEN use the volume keys to move the cursor (and suppress any volume changes, if possible).
It took me a while to figure out how to determine whether the keyboard is out (solution: install another keyboard and intercept the "change input method" notification as a trigger). Suppressing the volume keys' usual behaviour was easy (AutoInput -> Key Suppress) but the final step turned out to be quite difficult: How to move the cursor?
After doing some extensive research, I always came to the same point: "not possible without root". Damn.
But then, this plugin came in. The keyword "remote" in its name might suggest that you can use this plugin only to act from one device to another, but that's not true. Actually, you can use this plugin to run adb commands on the same device.
What does that mean? It means that you can run an adb shell command like "adb shell input keyevent xy" on your phone WITHOUT ROOT. In my case, I can run "input keyevent 21" and "input keyevent 22" to move the cursor. So, how can we do that?
Prerequisites:
Connect your device via ADB to a PC (google it if you don't know how) and run the command "adb tcpip 5555". That's it, you can disconnect your device now.
Then in Tasker, create an action with this plugin and type in the following:
IP Address: localhost
Port: 5555
ADB Shell Command: input keyevent POWER
Hit the play button to test this action. If you've done everything right, your screen will turn off.
Congrats, you just executed a command on an unrooted device which usually requires root privileges!
Important:
The only downside is, the tcpip setting does not survive a reboot, so you have to set the port 5555 again via PC after rebooting the device.
I hope I explained the important part well enough. If that's not the case, don't hesitate to quote me and I'll answer here.
digitalpig82 said:
Any news on the output variable? I have high hopes since you mentioned you already see the output in the logs...
Thanks a lot for this plugin! It makes an unrooted phone much easier to control!
Click to expand...
Click to collapse
I'm sorry for my absence, really busy with school etc. (honestly, I also completely forgot, I hope you can forgive me). I'll try to look into it soon (this week or the next) and see how far I get. I really like that you like my plugin! I just found out myself last week that I can let unrooted phones send shell commands to themselves using my plugin, so I'm glad to see you found it out as well! (I used it for snapchat to simulate volume key presses, which is also possible without root indeed: https://www.reddit.com/r/tasker/comments/699sav/project_share_handsfree_snapchat_picture_and/ It also works for other camera apps that require you to hold the button to film, like whatsapp etc)
Edit: I hope it pleases you to hear that today I started working on it again. I already have the responses bundled in a list in Java, now I just need to parse them to Tasker
loogielv said:
I doont understand. I can type the code, but i do have to remove the "adb sell" part of the code but it's good to go… is that not what this plugin does?
Click to expand...
Click to collapse
Yes, you have to remove the "adb shell" part since all my plugin does is access the adb shell part. This means commands like adb pull etc won't work, that requires a different type of connection, that for now I can't achieve with Tasker. But running any remote shell command should be fine (like how you would run it if you were directly running the commands from a terminal on your phone)
digitalpig82 said:
I just wanted to share how I use this plugin, just to give others an example of what this nice plugin is capable of.
Recently, I bought a new device and for now, I have no intention of rooting it. Coming from a rooted OnePlus One, this means some of my Tasker profiles do not work as expected anymore and I have to find workarounds.
On LineageOS (and CyanogenMod before that), we have the option to display left/right cursor arrows in the navigation bar when typing text. I always loved this feature, since placing the cursor in the right position by tapping will always be a hit&miss game. Since my new device (S7 Edge) has no onscreen navigation bar, I was searching for a replacement solution to move the cursor. I came up with the idea that it would be quite handy to use the volume buttons for this. So, the idea was the following:
IF the keyboard is shown THEN use the volume keys to move the cursor (and suppress any volume changes, if possible).
It took me a while to figure out how to determine whether the keyboard is out (solution: install another keyboard and intercept the "change input method" notification as a trigger). Suppressing the volume keys' usual behaviour was easy (AutoInput -> Key Suppress) but the final step turned out to be quite difficult: How to move the cursor?
After doing some extensive research, I always came to the same point: "not possible without root". Damn.
But then, this plugin came in. The keyword "remote" in its name might suggest that you can use this plugin only to act from one device to another, but that's not true. Actually, you can use this plugin to run adb commands on the same device.
What does that mean? It means that you can run an adb shell command like "adb shell input keyevent xy" on your phone WITHOUT ROOT. In my case, I can run "input keyevent 21" and "input keyevent 22" to move the cursor. So, how can we do that?
Prerequisites:
Connect your device via ADB to a PC (google it if you don't know how) and run the command "adb tcpip 5555". That's it, you can disconnect your device now.
Then in Tasker, create an action with this plugin and type in the following:
IP Address: localhost
Port: 5555
ADB Shell Command: input keyevent POWER
Hit the play button to test this action. If you've done everything right, your screen will turn off.
Congrats, you just executed a command on an unrooted device which usually requires root privileges!
Important:
The only downside is, the tcpip setting does not survive a reboot, so you have to set the port 5555 again via PC after rebooting the device.
I hope I explained the important part well enough. If that's not the case, don't hesitate to quote me and I'll answer here.
Click to expand...
Click to collapse
So...is it possible to create a version of the plugin that runs locally and doesn't disappear on a reboot?
kenkiller said:
So...is it possible to create a version of the plugin that runs locally and doesn't disappear on a reboot?
Click to expand...
Click to collapse
I would like to be able to create such a think but I don't think Google would allow it since it's a big security flaw to have adb opened to the world at all time without notifying the user. Some devices however have a debug over wifi function hidden in the developer options (like the nvidia shield android tv), there you can just enable it and it will probably survive a reboot.
However what I would advise to do if this option is not available, is to create a .bat file on your desktop containing "adb tcpip 5555". That way after a reboot you can just plug in your phone, click the bat file and be done!
Humpie said:
I would like to be able to create such a think but I don't think Google would allow it since it's a big security flaw to have adb opened to the world at all time without notifying the user. Some devices however have a debug over wifi function hidden in the developer options (like the nvidia shield android tv), there you can just enable it and it will probably survive a reboot.
However what I would advise to do if this option is not available, is to create a .bat file on your desktop containing "adb tcpip 5555". That way after a reboot you can just plug in your phone, click the bat file and be done!
Click to expand...
Click to collapse
Hmm....But there's this custom nav bar app where it allows users to grant it adb shell permissions, and the permission survives over reboots. Auto tools and Securetask relies on the same process as well.
I guess what we're asking for is something that's not as encompassing as your plugin. Me, I just want to execute the power command without root in a way that respects smart lock, which is possible now with your app but doesn't survive a reboot, or with the custom nav bar app, which survives a reboot, but restricts me to using it in a tiny button on the nav bar, as the dev doesn't seem interested in exposing the commands to external usage.
---------- Post added at 07:30 AM ---------- Previous post was at 07:28 AM ----------
We discussed it in this part here....
https://forum.xda-developers.com/an...avigation-bar-customize-t3590967/post72212488
kenkiller said:
Hmm....But there's this custom nav bar app where it allows users to grant it adb shell permissions, and the permission survives over reboots. Auto tools and Securetask relies on the same process as well.
I guess what we're asking for is something that's not as encompassing as your plugin. Me, I just want to execute the power command without root in a way that respects smart lock, which is possible now with your app but doesn't survive a reboot, or with the custom nav bar app, which survives a reboot, but restricts me to using it in a tiny button on the nav bar, as the dev doesn't seem interested in exposing the commands to external usage.
---------- Post added at 07:30 AM ---------- Previous post was at 07:28 AM ----------
We discussed it in this part here....
https://forum.xda-developers.com/an...avigation-bar-customize-t3590967/post72212488
Click to expand...
Click to collapse
It seems this app uses specific android permissions to be able to send events etc. However my plugin has no direct access to the android system (only by using the adb bridge), so granting my plugin these permissions won't help. What however would help is if I could find a way to enable adb over wifi using only some permissions... I have no clue whether this is possible though as the app would have to call service.adb.tcp.port 5555 for itself and that needs root or an adb connection (so it still requires a laptop XD). I'm still trying though.
Humpie said:
It seems this app uses specific android permissions to be able to send events etc. However my plugin has no direct access to the android system (only by using the adb bridge), so granting my plugin these permissions won't help. What however would help is if I could find a way to enable adb over wifi using only some permissions... I have no clue whether this is possible though as the app would have to call service.adb.tcp.port 5555 for itself and that needs root or an adb connection (so it still requires a laptop XD). I'm still trying though.
Click to expand...
Click to collapse
No worries. It's just that it's so close yet so far, heheh.... I guess I'll have to reboot only when home.
kenkiller said:
No worries. It's just that it's so close yet so far, heheh.... I guess I'll have to reboot only when home.
Click to expand...
Click to collapse
I found out it is in fact possible to have wireless adb survive a reboot! However it requires a build.prop edit.
in \system\build.prop "service.adb.tcp.port=5555" needs to be added at the end of the file and then after a reboot adb over wifi will still be enabled (at least it was in my case).
The downside is that this modification can't be done via adb without root unless you have a custom recovery like TWRP and run adb while having that opened and /System/ mounted.
I'm trying to create a zip that modifies the build.prop how it should be modified, but I don't think it's possible to run it through a non-custom recovery...
Edit: I added my .bat file for modifying the build.prop adding that line. It uses an adb connection that requires more rights than what android allows when booted, but should probably work if you are able to access adb from recovery and you are of course booted in recovery mode (using recoveries like TWRP or even some stock manufacturer ones).
Update 4.3 is live!
As requested you can now access the output from the console directly in Tasker.
I tried to order everything neatly in a list, with each line in the console being an item in the list, but this does mean that the initial "device\sdcard $" et cetera get added as an item as well.
But since I didn't want to cut off anything important I just kept it that way. You can just modify the list in any way you want (AutoTools has some handy Array handling tools built in).
I also added some hints in the main screen just for fun.
If you run into any strange behaviour, bugs or have tips, please tell me!
digitalpig82 said:
Any news on the output variable? I have high hopes since you mentioned you already see the output in the logs...
Thanks a lot for this plugin! It makes an unrooted phone much easier to control!
Click to expand...
Click to collapse
Enjoy
Since most people are using my Plugin locally instead of remotely, I'm thinking of renaming it to just 'ADB Shell [Tasker]'. It would make it simpler when googling it. What do you think?
Hi there,
I hope, someone can help me
I'm using Tasker for a while on several devices. For example I use profiles which turn location mode off or to high accuracy (using external app Autotools - Secure Settings) and mobile data on or off (using external app toggle data 5.0). This worked well until I updated our Oneplus 5T to Android 8.0.
The external app commands seem to work sometimes, but the rest of the profile tasks aren't executed and next time the commands don't work anymore.....
FYI: Autotools is granted permission to write secure settings and toggle data 5.0 has root access.
Toggle data 5.0 also got a widget to turn mobile data on or off and this works perfectly but tasker seems to have problems to use this external app and the app seems to freeze for a while after executing the task .
I attached an image from a run, where tasker managed to change location mode to high accuracy but stopped after this task with an error.
All apps are up to date (Tasker v5.1, Autotools v2.1.bf, Toggle Data 1.5.2.0) and the Oneplus 5T is on the latest Oxygen OS Version 5.0.4 (but on 5.0.3. the tasks didn't work either).
Thanks in advance
Better to include the log from running the task, probably a logcat as well since there is communication with plug-ins and it's always a good idea to share your profile when it's not working as expected. Make sure it's named - not a default name assigned by tasker. Then long press on the name to highlight the profile. Go to the 3-dot menu and select export -> Description to Clipboard.
Then you'll be able to paste it. Be aware, it easier to use pastebin then link to a post here. If you paste in a post here, the forum software will convert all semicolons with characters after, typically "on" and "off" to emoticons making it very hard to read.
"Good judgment comes from experience, and a lot of that comes from bad judgment." - Will Rogers
Since you have root, you can try to use the Run Shell action instead.
lauralbaby said:
Since you have root, you can try to use the Run Shell action instead.
Click to expand...
Click to collapse
Thank you very much for your answer
After a quick research I found the two shell commands "svc data enable" and "svc data disable" to enable and disable mobile data which work fine with root permission:good:
Do you know, if there are commands for changing location mode to off and high accuracy, too? I only found commands like " adb shell settings put secure location_providers_allowed ' ' " but these didn't work.
Thanks in advance.
Try changing location_mode from 3 to 0.
lauralbaby said:
Try changing location_mode from 3 to 0.
Click to expand...
Click to collapse
Could you please tell me the exact command, for example for location mode 0? The command i found doesn't work because the terminal and tasker can't use ADB....
.
Just take off the "adb shell" part:
settings get secure location_providers_allowed
network,gps
Run the "get" command to be sure you have the right values before changing them.
(BTW if AutoTools doesn't work Secure Settings or Secure Task might be worth trying.)
lauralbaby said:
Just take off the "adb shell" part:
settings get secure location_providers_allowed
network,gps
Run the "get" command to be sure you have the right values before changing them.
(BTW if AutoTools doesn't work Secure Settings or Secure Task might be worth trying.)
Click to expand...
Click to collapse
With your help and another research and tests I finally found the solution:laugh:
Thank you very much for your help
If you or anyone else wants to know the correct commands:
Turn location mode to high accuracy:
Code:
settings put secure location_providers_allowed +network,gps
Turn location mode off:
Code:
settings put secure location_providers_allowed -network,gps
Turn mobile data on:
Code:
svc data enable
Turn mobile data off:
Code:
svc data disable
Hello people,
So I've had the OnePlus 6t for a week now and one of the things that really bothered me was that I could not figure out how to turn peeking off.
Some people in here and on other forums have commented that it's not possible to turn pop up notifications off in Android Pie. I was somehow not completely convinced of that.
After being pestered some more with the pop ups while streaming, I started going through every single setting and finally found the way to turn them off.
So you go to Settings -> Apps and notifications -> See all apps.
Then you select the app to which you want to turn off pop ups.
Then go to notifications and look for a checkbox that says either "all notifications" or just "notifications" or something similar. This is different for each app. Some apps will have multiple such checkboxes.
You then click on behavior. This is where you can change the way the notifications are delivered to you.
You can choose to receive notifications completely silently or just select "make sound" to receive notifications without peeking. Basically, any selection apart from the first one which says "make sound and pop up on screen" will turn off peeking / pop up notifications.
I apologise if this is common knowledge or if this was already posted but I had a hard time figuring this out and wanted to share it.
works good for apps that have the notification channels coded in.... however Google's own hangouts app doesn't which is just silly...
for those who don't want it on at all, the ADB method is probably best because its universal
use the following adb command:
adb shell settings put global heads_up_notifications_enabled 0
Reboot your phone. Done!
edit...link added
https://forum.xda-developers.com/android/general/howto-4-to-disable-heads-notifications-t3197660
dadoc04 said:
works good for apps that have the notification channels coded in.... however Google's own hangouts app doesn't which is just silly...
for those who don't want it on at all, the ADB method is probably best because its universal
use the following adb command:
adb shell settings put global heads_up_notifications_enabled 0
Reboot your phone. Done!
edit...link added
https://forum.xda-developers.com/android/general/howto-4-to-disable-heads-notifications-t3197660
Click to expand...
Click to collapse
Fancy seeing you here sir?
I really hate these retarded peek / pop up notifications.
Biggest crap ever, and no easy way to disable them (i.e. in Telegram).
I only saw the option in the "gaming mode" of the OP, there I can disable that ****.
The other option seems to be via the adb shell, which is super retarded as well.
That's the main reason I use android to have full customization, that's Google for implementing retarded features without the option to disable them.
If anyone found an easy way to get rid of it, that'd be great.