[Q] emulating power button using tasker and input/event - TouchPad Q&A, Help & Troubleshooting

So I'm attempting to duplicate the task on my incredible where I can mimic a power button push/hold as a task or by covering the proximity sensor to first give the power menu then to turn the screen off if still . covered. Using tasker and execute locale plugin i run the command
@1sendevent /dev/input/event4 1 116 1
sleep 1
!sendevent /dev/input/event4 1 116 0
However the event number and code are not the same. There is a process to discover them using adb which I have never been able to set up.
the process listed in post 34 here http://groups.google.com/group/tasker/browse_thread/thread/2c98667f14f69a3f/a385a2c4497a8ddd by hypnotoad details the instructions. Is there a way to do this using an app like terminal? adb has never worked with me for the tp and os x. If someone knows the answer or could help out that would be awesome. My terminal and programming skills are not of expert qualities. thanks a bunch.

solved my own dilemma
So I was able to figure this out by inadvertently having to root my replacement Incredible on OS X Lion (As a side note, this was quite the process taking over 4 hours for me because Unrevoked refused to work and I have ADB issues, there was quite a bit of trial and error. I still do not have nand unlock, but I was able to restore my backup, so I digress).
First if you're running Easy Tether and have issues, try running this in terminal
sudo /System/Library/Extensions/EasyTetherUSBEthernet.kext
For whatever reason, that never fixed my ADB issues before, but, it worked this time. To reload when done with ADB
sudo kextload /System/Library/Extensions/EasyTetherUSBEthernert.kext
Now either using Tasker or Locale and the Execute plugin the command needed is
@!sendevent /dev/input/event1 1 107 1
sleep 1
!sendevent /dev/input/event1 1 107 0
the '@' simply keeps the toast from appearing, leaving it a much cleaner process, the '!' is required as a root access.
Drop it as an icon as a task shortcut and voila, instant power button savior. Unfortunately the touchpad doesn't have a proximity sensor which this task can be coupled with like I have on my phone.
To just turn of the screen it would be
@!sendevent /dev/input/event1 1 107 1
!sendevent /dev/input/event1 1 107 0
the commands for the ADB process can be found in the OP and huge thanks to everyone who replied in the Tasker forums, but especially to Hypnotoad, credit to him. Thanks, I hope others find this useful.

Related

Tasker App Question

Has anyone had luck using Tasker app on their Gtablet?
For one, I know almost nothing about programming, and I can't seem to find any decent tutorials on how to program tasks in the app.
I'm trying to make it so that my Gtablet will automatically shutdown if the screen times out for more than, for example, 30 minutes. Does anyone have some guidance or at least a place to start to teach myself how to use this program? I've gone to their wiki and other sites that show profiles and defines what each thing is, but they aren't put together all that well and they skip a lot of beginning steps that are obviously what I need to grasp how to make the most of this program.
Being edited...
johnsonjf said:
Has anyone had luck using Tasker app on their Gtablet?
For one, I know almost nothing about programming, and I can't seem to find any decent tutorials on how to program tasks in the app.
I'm trying to make it so that my Gtablet will automatically shutdown if the screen times out for more than, for example, 30 minutes. Does anyone have some guidance or at least a place to start to teach myself how to use this program? I've gone to their wiki and other sites that show profiles and defines what each thing is, but they aren't put together all that well and they skip a lot of beginning steps that are obviously what I need to grasp how to make the most of this program.
Click to expand...
Click to collapse
I use Tasker extensively on my phone, not so much on my G-Tab, but that is due to my needs, not the app. Due to limitations in Android, Tasker cannot address all situations - you can't use it as universally as you can use similar programs in Windows, for example.
For help, in addition to the home page (http://tasker.dinglisch.net/) and the Wiki (http://tasker.wikidot.com/profile-index), there is the user guide (http://tasker.dinglisch.net/userguide_summary.html) and the Google Groups link (http://groups.google.com/group/tasker?pli=1).
Simplest method for what you want to do: if you set your GTab WiFi to turn off when the screen is off and you have the QuickBoot app (which I have and like), you could set a Tasker Profile something like the following:
Context - WiFi disconnected
Tasker - wait 30 minutes
Plugin - quickboot Power off, if %WIFI ~ off
(As an alternative to step 3, if you have an app that powers off the tab, you could simply run that app as step 3).
This profile will run every time WiFi disconnects. It will wait 30 minutes and, if WiFi is still disconnected, it will power off the G-Tab.
Not perfect, of course - a better way to do it would be to do 30 1 minute waits, checking each time to see if WiFi is still off, and stopping the script if WiFi is on. This requires a variable to measure time and to turn off the GTab once 30 minutes has passed:
Context: WiFi disconnected
Tasker: Variable Set %WIFIOFF = 0
Tasker: wait 1 minute
Tasker: Stop if %WIFI ~ on
Tasker: Variable Add %WIFIOFF + 1
Tasker: Goto Action 8 if %WIFIOFF = 30
Tasker: Goto Action 3
Plugin: quickboot Power off
I could test this tonight, when I get home, if you want.
PM me if you need further help.

Bad Digitizer - Turning Phone into PDA

Note: I'm still working on this, and this guide may miss a few things/be incomplete. I'll subscribe to this thread but if I don't reply you can PM me.
I had a Droid 3 but the ribbon cable developed a nice hearty tear. I haven't taken the money to buy a new one to put it together, and since my wife's Droid 3 has a busted glass screen but everything else works, she'll probably assemble it herself. So that left me phoneless. To save a buck, I got a cheap wireless plan locally ($19.99 unlimited talk/text), but I am on a dumb phone. I really only wanted a MP3 player and the ability to surf the web casually without getting on the computer.
The biggest problem is that Android is too dependent on touch interface, which I didn't have due to the infamous bad digitizer ghost issues. So that left me a little irritated, since it was sitting in my drawer and collecting dust. So after much research, tweaking, and playing, here is what I got so far:
1) Download your ROM of your choice. I wanted Jellybean since we had it and I think ICS/JB look prettier than GB anyway. So I chose CM10.
2) The biggest problem will be the lack of touch input. This causes three problems: setting up the phone, using the back/home/menu/search buttons, and unlocking the screen. I got past this by first using a data cable and connecting via ADB. I can't find the app since I'm at work but it's on Google Groups and a bit of searching should help you find it. If you scroll down a bit someone updated it for JB. You just need Java and ADB.
3) The next problem was the keys. In /system/usr/keylayout/sholes-keypad.kl edit this file (adb pull /system/usr/keylayout/sholes-keypad.kl is your friend then adb push). Remap key 100 (right alt) to home wake_dropped, key 54 (right shift) to back wake_dropped, and 139 to menu wake_dropped (menu key don't work on JB on keyboard until this).
4) Install v6 Supercharger (easy to find and plenty of guides so I'm not going to hash that out). In there is a section of Bulletproof apps. Download from the Play Store the app Argus Touch Blocker and add it to the Bulletproof list. Then Enable the service and block the screen on any shaking.
5) The only browser that seems to work (have to use remote control over ADB to accept EULA) is Opera Classic.
If anyone else has suggestions/tips I'm open as well.

[Q} Send/simulate bluetooth headset button click from Gear to phone?

Is it possible to send/simulate a bluetooth headset button click from the Gear to the attached phone?
My goal is to have that click activate Google Voice Search on the phone, but all the options I've tried don't work well enough.
1) Sending bluetooth commands through rooted terminal like: echo -e "AT\r" > /dev/ttySAC0
sending any command to ttySAC0 would crash the bluetooth connection. I guess this is a serial interface and isn't designed to accept text commands (I don't have a full understanding of this, just conjecture). Other devices like 'uhid' and 'uinput' didn't work either (everything just returns 1, and I don't know what that means either), I tried all the ones that showed up under 'ls -l /dev/' with 'bluetooth' in their properties.
2) Using tasker+autoremote: works when bluetooth tethering is on but is slow (command going through internet and back), and works when bluetooth direct receiving is enabled on the phone, but this drains battery a lot (Autoremote always awake listening on bluetooth). Neither one of these is a palatable side effect (slow, or battery drain).
3) Using tasker to intercept a command from the Gear media controller app
Works sometimes, I usually use the 'previous' button, but the need to 'Grab' the media button interferes with using it for music playback, and using another tasker task to enable/disable this profile leads to erratic behavior (sometimes the media player, Winamp in this case, will start working immediately, sometimes not). The bigger issue is that the media controller app stops responding after an hour or two, requiring rebooting the phone, or killing some of the Samsung Accessory services running in the background, which then relaunch themselves. I think there's too much interaction here with Tasker, Winamp, and the Samsung Accessory stuff to know what's happening though. The delay is also highly variable, which is annoying, and sometimes when the Voice Search launches I do not get the initial 'ding' audio through the Gear, though there could be a ton of reasons for that as well.
Long story short, I'm hoping being able to simulate bluetooth headset button presses/commands would solve all of the above problems, getting faster response, no/minimal extra power consumption, and be very reliable. Also, this may sound dumb, but I don't actually have a normal bluetooth headset to test with either.
Thanks to everyone that's on xda-developers, this is my first post ever, but I've been coming to this site for stuff for years.
We haven't found anything yet
(There are a few older threads around)
Oops. Should have guessed that. Thank's for the quick reply.
Brendo said:
We haven't found anything yet
(There are a few older threads around)
Click to expand...
Click to collapse
ulnah said:
Oops. Should have guessed that. Thank's for the quick reply.
Click to expand...
Click to collapse
A possible work around would be to activate Google Now on your phone, then goto gear manager and have it send notifications from Google search. Once you get some notifications from Google search, you can click the "show on device" button and it should open, and you can say "OK Google" to start start it up. (make sure you turn that feature on in the Google search settings )
My solution, for anyone interested...
I use AutoVoice rather than Google Now, although any command not matched by AV I have sent to Google Now for processing.
Anyway, there doesn't appear to be any faster way of communicating than via whatever it is that the Gear and my Note II communicate over by default. Not having the know-how to tap into this, I figured I would just use an existing method of communicating and use Tasker to intercept and pretend that was a BT button press instead.
So what I've done is just set it up so that when I use the dialer to run a USSD code that doesn't mean anything on my phone, this triggers what would ordinarily happen on a BT button press on autovoice - that is:
When variable %WIN matches "USSD code running" -> Perform task with actions: "Input - back" and then Plugin - State - Autovoice - Recognise... or whatever it is you want.
So that last action could be replaced by launching Voice Search if you want Google Now to take control.
I've probably not explained that well at all, will post a proper how to if anyone's interested.
mattytj said:
I use AutoVoice rather than Google Now, although any command not matched by AV I have sent to Google Now for processing.
Anyway, there doesn't appear to be any faster way of communicating than via whatever it is that the Gear and my Note II communicate over by default. Not having the know-how to tap into this, I figured I would just use an existing method of communicating and use Tasker to intercept and pretend that was a BT button press instead.
So what I've done is just set it up so that when I use the dialer to run a USSD code that doesn't mean anything on my phone, this triggers what would ordinarily happen on a BT button press on autovoice - that is:
When variable %WIN matches "USSD code running" -> Perform task with actions: "Input - back" and then Plugin - State - Autovoice - Recognise... or whatever it is you want.
So that last action could be replaced by launching Voice Search if you want Google Now to take control.
I've probably not explained that well at all, will post a proper how to if anyone's interested.
Click to expand...
Click to collapse
This is actually quite a clever work around, great thinking.
I can't get this to work. For example, when I use '*#111222#' and press 'dial' on my phone, it tries, then errors (this is good I think)
But when I tried to dial the same number from my Gear, I get '*#111222# not supported. Are you on null rom on your Gear?
mattytj said:
I use AutoVoice rather than Google Now, although any command not matched by AV I have sent to Google Now for processing.
Anyway, there doesn't appear to be any faster way of communicating than via whatever it is that the Gear and my Note II communicate over by default. Not having the know-how to tap into this, I figured I would just use an existing method of communicating and use Tasker to intercept and pretend that was a BT button press instead.
So what I've done is just set it up so that when I use the dialer to run a USSD code that doesn't mean anything on my phone, this triggers what would ordinarily happen on a BT button press on autovoice - that is:
When variable %WIN matches "USSD code running" -> Perform task with actions: "Input - back" and then Plugin - State - Autovoice - Recognise... or whatever it is you want.
So that last action could be replaced by launching Voice Search if you want Google Now to take control.
I've probably not explained that well at all, will post a proper how to if anyone's interested.
Click to expand...
Click to collapse
fOmey said:
This is actually quite a clever work around, great thinking.
Click to expand...
Click to collapse
Thanks mate, big fan of your work with the Gear, would have returned this thing after a day without you ROM.
ulnah said:
I can't get this to work. For example, when I use '*#111222#' and press 'dial' on my phone, it tries, then errors (this is good I think)
But when I tried to dial the same number from my Gear, I get '*#111222# not supported. Are you on null rom on your Gear?
Click to expand...
Click to collapse
Are you using the phone app on your gear or the dialer app? I am running _null.
Using the dialer means it just passes the dialer digits to the phone to process, so I simply dial "2" on the dialer and call. 2 gets picked up as a ussd code, which does nothing, but tasker intercepts and Pepper, my phone, asks me what she can do for me. I speak into my watch and she proceeds to ignore or misunderstand me.
All operating as normal.
Sent from my GT-N7105 using xda app-developers app
For some reason I thought it would have to start with '*#' to be recognized as a code, but '2' works as well.
Some quick testing shows no problems, I hope it stays that way. I had tried something similar by dialing a dummy number, having it hang up, and then start, but that took a long time and was much worse than this. Thank you!
This works excellent !
Only thing I dont like is the "unknown code" error that pops up on my phone, once I figure how to terminate that, its perfect.
fOmey said:
This works excellent !
Only thing I dont like is the "unknown code" error that pops up on my phone, once I figure how to terminate that, its perfect.
Click to expand...
Click to collapse
If it's an OCD type issue like me, trigger an overlay scene on the error message that destroys itself when the error isn't in focus, something like "Initiating...." . So mine does that, with a back action also triggered by the error. My attribute trends to lag so the error it's thrown before recognition. If after, adapt the scene to say, executing... or something. Point is, it of sight, out of mind!
mattytj said:
If it's an OCD type issue like me, trigger an overlay scene on the error message that destroys itself when the error isn't in focus, something like "Initiating...." . So mine does that, with a back action also triggered by the error. My attribute trends to lag so the error it's thrown before recognition. If after, adapt the scene to say, executing... or something. Point is, it of sight, out of mind!
Click to expand...
Click to collapse
Iv attempted to simulate a back button press with tasker, works fine if the phone is unlocked.. although if the phone is locked, im presented with a "UNKNOWN CODE" error which frustrates me
Ill have to get back to the drawing board and figure it out..
EDIT: Shortly after writing the above I came up with this, works a treat:
Code:
Task: Phone Trigger (36)
A1: AutoVoice Recognize [ Configuration:
Voice command with headset Package:com.joaomgcd.autovoice Name:AutoVoice Recognize Timeout (Seconds):0 ]
A2: Wait [ MS:0 Seconds:4 Minutes:0 Hours:0 Days:0 ]
A3: Run Shell [ Command:input keyevent 4 Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ]

process listing only showing 2 processes (in ps and top)

I've noticed on Android 7.0 with Nov 5th patch level, that "ps" and "top" are only showing two processes owned by me. I am running this on the on-device command line through the Terminal Emulator app. This is on a nexus 6. Fully stock. Not rooted. It used to show all running processes. Any idea how to get that back? Is this normal?
shamu:/ $ ps
USER PID PPID VSIZE RSS WCHAN PC NAME
u0_a104 31024 31006 3544 1184 sigsuspend b42a77ac S /system/bin/sh
u0_a104 31048 31024 4532 1264 0 ababb5f8 R ps
shamu:/ $ whoami
u0_a104
shamu:/ $
Yep, normal. Linux allows you to lock things away from normal users.
Marshmallow shows all processes, though. Is there no way to list all processes on the android command line anymore? This ps doesn't seem to take switches like regular Linux ps.
Here, read up about it; https://www.cyberciti.biz/faq/linux-hide-processes-from-other-users/
Hint: its "2".
Thanks for providing that detailed Linux info. It let me Google the specifics on Android.
Here is a bug filed about this, which Google shot down.
https://code.google.com/p/android/issues/detail?id=205565
And a discussion on Stack Overflow.
http://stackoverflow.com/questions/38590140/file-system-changes-in-android-nougat
I find this change unfortunate since it makes simply running top to see which proc is hogging my CPU impossible.
bat_in_the_stacks said:
Thanks for providing that detailed Linux info. It let me Google the specifics on Android.
Here is a bug filed about this, which Google shot down.
https://code.google.com/p/android/issues/detail?id=205565
And a discussion on Stack Overflow.
http://stackoverflow.com/questions/38590140/file-system-changes-in-android-nougat
I find this change unfortunate since it makes simply running top to see which proc is hogging my CPU impossible.
Click to expand...
Click to collapse
Just do it as root.

[Plugin] Remote Adb Shell

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?

Categories

Resources