Hello, I want to make a script in tasker for backup my conversations in whatsapp, It will printscreen then scroll down the conversation, print again and so on until the end off the conversation, I have already done the print and scroll part but I want to implement a condition, when the scrolling reach the bottom of the conversation the loop stop.
my tasker code is running on shell run:
while (???)
do
/system/bin/screencap -p /sdcard...
input swipe 300 400 300 -180
done
(not exactly that just a sketch)
the red part is what I dont know to code.. I tryed View.getScrollY() but no avail. I guess the shell dont run this type of code. (Im new on this)
If anyone know an alternative or something to help...
best regards
Related
Hi I have an HTC Snap running windows 6.1 what I am looking for, is some tracking/spy type software to monitor sent and received SMS and MMS.
I have found plenty on the net, but they are all expensive "do it online" spying type services that do a lot more than i need. What I am looking for, is a program that comes as an installable CAB or similair, that i can install on the phone and it will be "hidden" on the phone itself.
Then it should store somewhere else in memory all sms and mms activity (regardless of whether user has deleted and or emptied deleted folder)
I guess what i would expect is to have an application on my PC so that i can basically connect the HTC to the computer via a USB cable and "download" the tracked data onto the pc and view it there.
I am not sure if such software exists, it may even be achievable through a 3rd party "activsync" type program but I have never seen software that will store sms and allow you to view it without restoring it back onto another phone first. (and also keep deleted information)
Can anyone point me in the right direction?
maybe someone could create a mortscript to run "pimbackup.exe" at a certain time (or when sms is sent/recieved/deleted)
also which will save the backup file into a specific folder inside windows.
(pimbackup will save all sms etc.. inbox and outbox)
it might be possable to hide the pimbackup process too, eg dont show pimbackup window and just create the backup file.
Rn
Who do you want to spy on? It's seems your goals are not really worthy any kind of support.
altae said:
Who do you want to spy on? It's seems your goals are not really worthy any kind of support.
Click to expand...
Click to collapse
probably a gf but who really cares..
what ever the reason is, i think it can be done with mortscript.
Rn
first attempt by RoryB
@ flamebo, you will need to download and install mortscript to use these scripts, but i do believe this is worthy of support because it is being supported
RoryB said:
Code:
chk=1
# This will check for tmail for about 10 seconds and then move on or exit the script
While(chk)
If(ProcExists("tmail.exe"))
chk=0
Else
chk+=1
Sleep(1000)
EndIf
If(chk > 10)
Exit
EndIf
EndWhile
# Script will still not run if tmail.exe does not exist
If(ProcExists("tmail.exe"))
Run("ppcpimbackup.exe")
WaitForActive("xxxx", 6) # replace xxxx with the actual window name for ppcpimbackup
Minimize("xxxx")
#use the next type of commands to go through the options
SendKeys("xxxx", "type text you need to enter")
Sendzzzz("xxxx") Also, replace zzzz with the command like TAB, CR, etc.
EndIf
Click to expand...
Click to collapse
Rn
Ever since I got my Droid 3 I wanted to be able to control games using the keypad, but sadly most games won't support it, so I figured, it would be cool if I could make an app that catches all the keyboard events and triggers fake MotionEvents for preset regions of the touchscreen (kindof how it's done on the iControlPad).
I believe I've found a way to fake the touches, but when searching for a way to read keyboard events when my app doesn't have the focus all lead to dead ends.
Does anybody have a clue how I could do that?
If anyone cares: I not only managed to find a way to read out all the touches and keystrokes that should go to other apps (though some android-coworker said it was impossible), but I can also filter which one of those I let through. I can even block the back- and home-buttons. And it's runnable without any running service or activity, so invisible and unkillable. I don't need most of that for my app, so I won't use what I don't need, I just stumbled across it by accident.
Every threat on this topic ended with "It's impossible to read out keystrokes destined to another app, because it would be too much of a security issue." Well, it is possible.
Sent from my XT860 using xda app-developers app
Dakkaron said:
If anyone cares: I not only managed to find a way to read out all the touches and keystrokes that should go to other apps (though some android-coworker said it was impossible), but I can also filter which one of those I let through. I can even block the back- and home-buttons. And it's runnable without any running service or activity, so invisible and unkillable. I don't need most of that for my app, so I won't use what I don't need, I just stumbled across it by accident.
Every threat on this topic ended with "It's impossible to read out keystrokes destined to another app, because it would be too much of a security issue." Well, it is possible.
Sent from my XT860 using xda app-developers app
Click to expand...
Click to collapse
I do care! I would appriciate to hear how this works, because I would need it for my ongoing development.
Besides Camara button, which is of cause easy due to the broadcast event, and the volume keys (which are more tricky, since you have to inject an own BroadcastReceiver to the AudioManager), how do you handle other keys?
Ok, it's been a while since I did this, and I had a lot of work on other projects in between so, I hope I get everything right.
To do the whole trick you need root access.
1) Get the android.permission.SYSTEM_ALERT_WINDOW permission
2) Open up a system alert window with no content. There is a setting somewhere that lets you catch all keystrokes and touches. This blocks them all from going through
3) This one is tricky. I had to analyse nonsense for days to get it right, and I fear it's still not very good. Go to /dev/input on your phone. There are files named event1, event2, ...
Each of those correspond to one input device, so one is your touchscreen, one is the keyboard and so on. What you do now is you perform the action you want to recreate on the phone (e.g. press a key) and monitor the event files through adb (there is a linux command, that I forgot, that lets you view a file in real time. Also you can copy that real time view to your harddrive by typing "adb shell [command] > record.txt").
Once you know every event that you want to recreate, you can go to the next step.
4) This is what your app has to do to let a keystroke through: The user presses a key, your app catches it. Then it changes it's mode (see 2) ) to not catch any keystrokes at all, posts the corresponding event for that key in the fitting /dev/input/eventX-file, and sets itself to catch keystrokes again.
Before the whole thing make sure, your /dev/input/eventX-file has a chmod of 666 or therelike, since you can't write into it from your app. You only need root for that, after that you don't need root. The OS resets the chmod on each reboot.
It is a hell of a lot of work. Calculate about a week or more for just that (at least that was what it took me to figure it all out). Good luck
PS: If you get your app system privileges, there is also the android.permission.INJECT_EVENTS, which allows you to inject key- and touch-events to another app using a simple function (can't remember it, but Google does). For your app to be able to get system privileges you need to copy it to /system/app, which requires root and a mounted /system. Catching the keystrokes still works the same way as above.
Dakkaron said:
Ok, it's been a while since I did this, and I had a lot of work on other projects in between so, I hope I get everything right.
To do the whole trick you need root access.
1) Get the android.permission.SYSTEM_ALERT_WINDOW permission
2) Open up a system alert window with no content. There is a setting somewhere that lets you catch all keystrokes and touches. This blocks them all from going through
3) This one is tricky. I had to analyse nonsense for days to get it right, and I fear it's still not very good. Go to /dev/input on your phone. There are files named event1, event2, ...
Each of those correspond to one input device, so one is your touchscreen, one is the keyboard and so on. What you do now is you perform the action you want to recreate on the phone (e.g. press a key) and monitor the event files through adb (there is a linux command, that I forgot, that lets you view a file in real time. Also you can copy that real time view to your harddrive by typing "adb shell [command] > record.txt").
Once you know every event that you want to recreate, you can go to the next step.
4) This is what your app has to do to let a keystroke through: The user presses a key, your app catches it. Then it changes it's mode (see 2) ) to not catch any keystrokes at all, posts the corresponding event for that key in the fitting /dev/input/eventX-file, and sets itself to catch keystrokes again.
Before the whole thing make sure, your /dev/input/eventX-file has a chmod of 666 or therelike, since you can't write into it from your app. You only need root for that, after that you don't need root. The OS resets the chmod on each reboot.
It is a hell of a lot of work. Calculate about a week or more for just that (at least that was what it took me to figure it all out). Good luck
PS: If you get your app system privileges, there is also the android.permission.INJECT_EVENTS, which allows you to inject key- and touch-events to another app using a simple function (can't remember it, but Google does). For your app to be able to get system privileges you need to copy it to /system/app, which requires root and a mounted /system. Catching the keystrokes still works the same way as above.
Click to expand...
Click to collapse
Thank you for your innovative solution
I do not understand two points:
1. How does your app will stay on top and its windows receives events, when the user opens another app, a game for example.
2. How does the background app, the game, keep running? Isn't the game onPause() when you are running your app in front?
Thanks you.
Dakkaron said:
2) Open up a system alert window with no content. There is a setting somewhere that lets you catch all keystrokes and touches. This blocks them all from going through
Click to expand...
Click to collapse
Can you please try to remember and elaborate " a setting somewhere" part?
I've been searching for a while now to a solution to my question without any progress...so here goes.
I have an application I use at work for 'paging' but I only receive said pages if I'm 'on duty'. Changing duty status requires an internet connection because that's the way the developers want it... That's fine.. so manipulating the database is out of the question. I can run a macro to do keypresses to change shift status but it's only if I'm not actively using my phone and is sometimes quirky. I want to be able to do that from a command line if possible.. So is this possible? What would I need to execute? I've looked at logs but I'm not an android programmer so I have no clue. I can pin down the log entry that shows me pressing menu selections but I want to do that without any interaction..
so guess what I 'm asking is,
Is this possible?
What do I need to look for?
Thanks, in advance
Hi guys,
I wanted to share my experience, how to disable vibrations on the Amazift. Sorry if some already posted it, but I couldnt find it.
First connect the device and open an console with adb.
Then open the shell on the watch:
Code:
adb shell
After that verify the name of the launcher package
Code:
pm list packages
There you should find a package called com.huami.launcher - this is the package we want to disable vibrations:
Code:
cmd appops set com.huami.launcher VIBRATE ignore
If you want to enable the vibrations again use:
Code:
cmd appops set com.huami.launcher VIBRATE allow
Since I want to have vibrations if I get a phone call, I installed the watch droid app on the watch, wich doesn't get changed at all.
Feel free to post questons, and I hope that I could give something back to this awesome community!
Thanks for this tutorial @Bainhorious !
That's exactly what I was looking for. Super simple but seems like none of the apps can offer the option to get notifications without vibration (I've tried the Mi app, Tools & Amazfit and also the Notify & Fitness).
Before I try your solution, I need, in addition to the vibration for incoming calls, I also need vibration for the Hangouts app. Do you think the "watch droid app" or even the Mi app would provide vibration for these 2 apps only? Thanks once again.
PS: my watch is the Amazfit Bip
Yes, as I have described above, you separately disable for every app the vibrations. So then just leave hangouts and watch droid out.
Thanks for replying.
Are you talking about the Bip? Because I don't think it is possible to install watch droid app on the Amazfit Bip.
Newbie question: do I need to unlock the bootloader or something like that? Or I can just connect the watch to my computer via USB and write the codes via ADB?
Man, this process work on Amazfit Bip? My Bip stop to Vibrate without, and I don't make it back =/
Unfortunately I don't think it works for the Bip, at least no one has tried
Bainhorious said:
Hi guys,
I wanted to share my experience, how to disable vibrations on the Amazift. Sorry if some already posted it, but I couldnt find it.
First connect the device and open an console with adb.
Then open the shell on the watch:
Code:
adb shell
After that verify the name of the launcher package
Code:
pm list packages
There you should find a package called com.huami.launcher - this is the package we want to disable vibrations:
Code:
cmd appops set com.huami.launcher VIBRATE ignore
If you want to enable the vibrations again use:
Code:
cmd appops set com.huami.launcher VIBRATE allow
Since I want to have vibrations if I get a phone call, I installed the watch droid app on the watch, wich doesn't get changed at all.
Feel free to post questons, and I hope that I could give something back to this awesome community!
Click to expand...
Click to collapse
Thanks for this! btw. "cmd" didn't work for me, but "command" worked
I think it should be
Code:
appops set com.huami.watch.launcher VIBRATE ignore
in the current version
Bainhorious said:
I think it should be
Code:
appops set com.huami.watch.launcher VIBRATE ignore
in the current version
Click to expand...
Click to collapse
Yep, this also :good:
I'm assuming ADB refers to Android Debug Bridge?
For someone who isn't that savvy with the above, would you recommend doing this? This is a feature that I miss coming from a pebble time and I want to do this but the instructions above will probably mean that I get lost in the process. Is the above process to be done with the amazfit app or while the watch is connected to a pc?
Sorry about the basic questions.
I suppose there is no app that can disable vibration, right? At least, not amazfit tools, which I tried...
Does this still work on Android Pie? Certain apps still vibrate annoyingly so despite the granular notification control that Pie has introduced.
Hi
Here I try to list interesting tricks, apps or ... that may help for better usage of our watches (Pace/Stratos/Verge).
Please share your experiences here and I'll add it to the list by your name.
1- Thanks to edotassi, in AmazMod > Execute a shell command, you can do many things; remotely control your watch ...,
You can have unlock, type, tap and ... for example: by typing "input keyevent 4" you activate "back" function on your watch. (you can do it from your PC too)
2- By installing "Beep Hourly" you can have a vibration each our or 30 mins or whatever you wish.
3- Again in AmazMod > Execute a shell command, you can easily change the DPI of your watch (in some application that are not fitted in the watch).
By typing "adb shell wm density 238" you'll return to default DPI of Pace.
... Waiting for your experiences
RESERVED
Sadegh said:
Hi
Here I try to list interesting tricks, apps or ... that may help for better usage of our watches (Pace/Stratos/Verge).
Please share your experiences here and I'll add it to the list by your name.
1- Thanks to edotassi, in AmazMod > Execute a shell command, you can do many things; remotely control your watch ...,
You can have unlock, type, tap and ... for example: by typing "input keyevent 4" you activate "back" function on your watch. (you can do it from your PC too)
2- By installing BeepHoarly you can have a vibration each our or 30 mins or whatever you wish.
3- Again in AmazMod > Execute a shell command, you can easily change the DPI of your watch (in some application that are not fitted in the watch).
By typing "adb shell wm density 238" you'll return to default DPI of Pace.
... Waiting for your experiences
Click to expand...
Click to collapse
Can you post a link to BeepHoarly? Searching on Google returns nothing and on xda returns only to this thread.
Thanks
Here you are:
https://www.google.com/url?sa=t&rct...hourly&hl=en&usg=AOvVaw1utPK837-W54VLnrhM8u6t
(its name is beep hourly, my mistake )