EDIT: This method can be considered deprecated as now there is much easier and more effective solution thanks to the great u/HunterXProgrammer from Reddit. Check it here:
https://www.reddit.com/r/tasker/comments/11wi2om
OLD SOLUTION:
For a long long time I've been searching for a way to automate sending Whatsapp messages via Tasker. The previous method with inserting text into database doesn't work with newer Whatsapp versions and so far nobody was able/willing to fix it. But now, thanks to the whatsmeow library and the undeserved kindness of u/Black616Angel from Reddit, we finally have a working solution!
ROOT IS NOT REQUIRED, although it certainly makes things much easier.
REQUIREMENTS:
(1) Tasker
(2) Termux
(3) [FOR ROOTED USERS] A file manager with root access. I recommend MiXplorer.
(4) [FOR NON-ROOTED USERS] Termux:Tasker plugin (detailed configuration description here)
(5) One free place in Whatsapp multidevice feature
(6) A second device from which you will scan the QR code
INITIAL TERMUX SETUP:
(1) Open Termux, run apt update && apt upgrade and approve all when asked
(2) Run pkg install git
(3) Run git clone https://github.com/tulir/whatsmeow (this will clone the needed repository from Github to your device)
(4) Run pkg install golang and approve all when asked (it will download necessary tools to your device, around 800 MB)
PROCEDURE FOR ROOTED USERS:
(1) Open MiXplorer and go to /data/data/com.termux/files/home/whatsmeow/mdtest directory. Select main.go file and open it as text (in MiXplorer: OPEN AS... > Text > Text Editor). Find the line no. 114 (or very close) which should contain these signs: }(). Make a new line below and paste the following text there:
args := os.Args[1:]
if len(args) > 0 {
handleCmd(strings.ToLower(args[0]), args[1:])
return
}
Save the file and exit.
(2) Go back to Termux and enter cd whatsmeow/mdtest. Run go build command. Wait for the operation to be finished.
(3) Run ./mdtest command. If all has been done correct so far, you should see a QR code. Make a screenshot of it and send it to your secondary device. Then open Whatsapp on your main device, tap three dots in the right-upper corner, select Linked devices, select LINK A DEVICE and scan the QR code from your second device. You should see a new device linked, described as whatsmeow.
[Please note that the after a short while a new QR code is generated and the previous one gets invalid, so make this operation quickly.]
Go back to Termux. Exit the whatsmeow program by selecting CTRL on the Termux panel and tapping "c" on the keyboard.
(4) Open Tasker, create a task (name it as you wish) and add Run Shell action. In the Command field put the following text:
cd /data/data/com.termux/files/home/whatsmeow/mdtest && ./mdtest send <receipient_number_preceded_by_a_country_calling_code_without_"+"_sign">@s.whatsapp.net <your_message>
Edit above text according to your information. Example:
cd /data/data/com.termux/files/home/whatsmeow/mdtest && ./mdtest send [email protected] "My test message"
[If your message contains multiple lines, don't forget to put " sign at the beginning and the end of the message.]
You can also send images instead of just a text (optionally with a caption). Open Tasker, create a task (name it as you wish) and add Run Shell action. In the Command field put the following text:
cd /data/data/com.termux/files/home/whatsmeow/mdtest && ./mdtest sendimg <receipient_number_preceded_by_a_country_calling_code_without_"+"_sign">@s.whatsapp.net </exact/path/of/your/image.jpg> <[optional] any caption>
Edit above text according to your information. Example:
cd /data/data/com.termux/files/home/whatsmeow/mdtest && ./mdtest sendimg [email protected] /storage/emulated/0/image_example.jpg "My caption"
Mark Use root box. Go back to the task and run it by tapping the Play icon. If the message has been delivered to your recepient, you succeeded!
(5) If you want to send a message to a group instead of a single contact, you will need a precise jid ODE]number of this group. You can get it this way:
Make a test task in Tasker. Create a Shortcut action. Tap on the Magnifying glass icon and select Whatsapp: Whatsapp field, then select your group. In the command line of the Tasker action a string of signs will appear, among others the jid number of your group. It is located between jid= and %40.
Make another task (name it as you wish) with the Run Shell action. In the Command field put the following text:
cd /data/data/com.termux/files/home/whatsmeow/mdtest && ./mdtest send <jid_number_of_your_group>@g.us <your_message>
Edit above text according to your information. Example:
cd /data/data/com.termux/files/home/whatsmeow/mdtest && ./mdtest send [email protected] "My test message"
You can also send images to your groups instead of just a text. To do that, follow the pattern for the individual contact, but use the jid number of the group.
Mark Use root box. Go back to the task and run it by tapping the Play icon. If the message has been delivered to your recepient, you succeeded!
Now you can link your task to any profile as well as create additional tasks in order to automatically send different messages. Enjoy!
PROCEDURE FOR NON-ROOTED USERS:
(1) In Termux, enter cd whatsmeow/mdtest command. Then enter nano main.go command. The file editor will open. Find this block of text:
c := make(chan os.Signal)
input := make(chan string)
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
go func() {
defer close(input)
scan := bufio.NewScanner(os.Stdin)
for scan.Scan() {
line := strings.TrimSpace(scan.Text())
if len(line) > 0 {
input <- line
}
}
}()
Below this block of text make a new line and paste the following text there:
args := os.Args[1:]
if len(args) > 0 {
handleCmd(strings.ToLower(args[0]), args[1:])
return
}
Save the file by selecting CTRL on the Termux panel and tapping "o" on the keyboard. Confirm by tapping ENTER. Exit the file by selecting CTRL on the Termux panel and tapping "x" on the keyboard.
(2) Make sure you are in the ~/whatsmeow/mdtest directory. Then run go build command. Wait for the operation to be finished.
(3) Run ./mdtest command. If all has been done correctly so far, you should see a QR code. Make a screenshot of it and send it to your secondary device. Then open Whatsapp on your main device, tap three dots in the right-upper corner, select Linked devices, select LINK A DEVICE and scan the QR code from your second device. You should see a new device linked, described as whatsmeow.
[Please note that the after a short while a new QR code is generated and the previous one gets invalid, so make this operation quickly.]
(4) Go back to Termux. Exit the whatsmeow program by selecting CTRL on the Termux panel and tapping "c" on the keyboard. You should return to the ~/whatsmeow/mdtest directory. Go back to the main directory by entering cd - command.
(5) Setup Tasker:Termux plugin. In Termux, enter the following commands:
$ mkdir -p /data/data/com.termux/files/home/.termux/tasker
$ chmod 700 -R /data/data/com.termux/files/home/.termux
Now, you have to grant Tasker the permission to run commands in Termux environment. You can do this in two ways:
- grant the permission manually in the device settings. Look at:
Android Settings > Apps > Tasker > Permissions > Additional permissions > Run commands in Termux environment
[The exact place of this permission may vary depending on the device model and software.]
- run the following commands on PC via Android Debug Bridge (ADB):
$ adb shell
$ pm grant net.dinglisch.android.taskerm com.termux.permission.RUN_COMMAND
[We assume you know how to use ADB. If not, please consult this page.]
(6) Go back to Termux. Enter cd .termux/tasker command. Make a new .txt file (name it as you wish) by entering nano <name_of_your_file>.txt command. In the editor, put the following text inside:
cd whatsmeow/mdtest
./mdtest send <receipient_number_preceded_by_a_country_calling_code_without_"+"_sign">@s.whatsapp.net <your_message>
Edit above text according to your information. Example:
cd whatsmeow/mdtest
./mdtest send [email protected] "My test message"
[If your message contains multiple lines, don't forget to put " sign at the beginning and the end of the message.]
You can also send images instead of just a text (optionally with a caption). In Termux, enter cd .termux/tasker command. Make a new .txt file (name it as you wish) by entering nano <name_of_your_file>.txt command. In the editor, put the following text inside:
cd /data/data/com.termux/files/home/whatsmeow/mdtest && ./mdtest sendimg <receipient_number_preceded_by_a_country_calling_code_without_"+"_sign">@s.whatsapp.net </exact/path/of/your/image.jpg> <[optional] any caption>
Edit above text according to your information. Example:
cd /data/data/com.termux/files/home/whatsmeow/mdtest && ./mdtest sendimg [email protected] /storage/emulated/0/image_example.jpg "My caption"
Save the file by selecting CTRL on the Termux panel and tapping "o" on the keyboard. Confirm by tapping ENTER. Exit the file by selecting CTRL on the Termux panel and tapping "x" on the keyboard.
(7) If you want to send a message to a group instead of a single contact, you will need the precise jid number of this group. You can get it this way:
Make a test task in Tasker. Create a Shortcut action. Tap on the Magnifying glass icon and select Whatsapp: Whatsapp field, then select your group. In the command line of the Tasker action a string of signs will appear, among others the jid number of your group. It is located between jid= and %40.
In Termux, enter cd .termux/tasker command. Make a new .txt file (name it as you wish) by entering nano <name_of_your_file>.txt command. In the editor, put the following text inside:
cd whatsmeow/mdtest
./mdtest send <jid_number_of_your_group>@g.us <your_message>
Edit above text according to your information. Example:
cd whatsmeow/mdtest
./mdtest send [email protected] "My test message"
You can also send images to your groups instead of just a text. To do that, follow the pattern for the individual contact, but use the jid number of the group.
Save the file by selecting CTRL on the Termux panel and tapping "o" on the keyboard. Confirm by tapping ENTER. Exit the file by selecting CTRL on the Termux panel and tapping "x" on the keyboard.
(8) Test your setup. Open Tasker and create a task with Plugin > Termux:Tasker action. Go to Configuration and in the Executable field at the top start typing the name of the file you have created (the full name should be shown as soon as you start typing). Select the file, then click on Save icon. Go back to the task and run it by tapping the Play icon. If the message has been delivered to your recepient, you succeeded!
Now you can link your task to any profile as well as create additional files in the ~/.termux/tasker directory in order to automatically send different messages. Enjoy!
PS. Credits go to whatsmeow creators as well as u/Black616Angel from Reddit who contributed massively to this method and without his help it wouldn't be possible at all. Check this Reddit thread for the reference.
Wow! What a write-up! Amazingly painful way just to send a message via WhatsApp. I really wish these messaging providers made things more open.
BinkXDA said:
Wow! What a write-up! Amazingly painful way just to send a message via WhatsApp. I really wish these messaging providers made things more open.
Click to expand...
Click to collapse
There are many autoresponders available on the market, INITIATING a message is difficult because Whatsapp doesn't provide API. This way isn't a simplest one, but at least it works with screen off using web interface.
Lord Sithek said:
There are many autoresponders available on the market, INITIATING a message is difficult because Whatsapp doesn't provide API. This way isn't a simplest one, but at least it works with screen off using web interface.
Click to expand...
Click to collapse
You finally managed to find a system to be able to send messages using Tasker
I need to ask you a question.
When I send messages with this system the person receiving cannot see the text correctly.
A warning comes out that says so:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
how can this problem be solved?
Thank you very much
westenlive said:
You finally managed to find a system to be able to send messages using Tasker
I need to ask you a question.
When I send messages with this system the person receiving cannot see the text correctly.
A warning comes out that says so:
View attachment 5728319
how can this problem be solved?
Thank you very much
Click to expand...
Click to collapse
I've seen that before, but honestly I have no idea why is this happening... Maybe unlinking and linking whatsmeow again would help or recreating Tasker action
Lord Sithek said:
I've seen that before, but honestly I have no idea why is this happening... Maybe unlinking and linking whatsmeow again would help or recreating Tasker action
Click to expand...
Click to collapse
ephemeral messages is the problem.
if they are enabled by this problem, by disabling ephemeral messages the problem is not there
cmq thanks for this great tool.
westenlive said:
ephemeral messages is the problem.
if they are enabled by this problem, by disabling ephemeral messages the problem is not there
cmq thanks for this great tool.
Click to expand...
Click to collapse
ohh good to know honestly I just compiled all the info into one post, I got a lot of help from more skilled users. You can read the Reddit thread as well and the posts from others:
https://www.reddit.com/r/tasker/comments/wcoc7h
Hi there! rooted device using SuperSU app here. i used the root guide, but when i run the shell command in tasker, nothing happens, the linked device whatsmeow shows "last active" the moment i uploaded the QR and not when i ran the shell command..... maybe i am doing something wrong?
EDIT: i made it! something weird was happeneing with main.go file.. the non-root explanation is more clear. thanks!
hernanbozzano said:
Hi there! rooted device using SuperSU app here. i used the root guide, but when i run the shell command in tasker, nothing happens, the linked device whatsmeow shows "last active" the moment i uploaded the QR and not when i ran the shell command..... maybe i am doing something wrong?
EDIT: i made it! something weird was happeneing with main.go file.. the non-root explanation is more clear. thanks!
Click to expand...
Click to collapse
Nice that you got it working, although root way is kinda easier to me I'm courious though what went wrong there
All who follow: Check the OP, there is much easier way to do the same now
I prefer this method.
Is much simpler.
But for a few days it hasn't been working for me.
Does this method work for you?
thanks
westenlive said:
I prefer this method.
Is much simpler.
But for a few days it hasn't been working for me.
Does this method work for you?
thanks
Click to expand...
Click to collapse
Sorry, but I switched to the new solution myself. Maybe you could try V2 of the new project since as far as I remember it was just kind of extended solution of mine:
https://www.reddit.com/r/tasker/comments/11a4k49
this system works really well.
I thank you so much.
it helps me so much with my work .
thank you brother
westenlive said:
this system works really well.
I thank you so much.
it helps me so much with my work .
thank you brother
Click to expand...
Click to collapse
Im glad I could help!
Related
Can someone help me out ?
I need to send 150 SMS to our group but the Android limit is 100 per hour.
I found a solution here
http://www.mail-archive.com/[email protected]/msg63883.html
but really don't know how to work with sqlite. Can anyone give me a step by step manual to remove the period check and increase the number of SMS messages allowed per period ?
Thanks in advance
Why did the mods move this? This is more android development than the live wallpaper request. This at least modifys things at the OS level. Sorry ass mods.
Have you tried multiple programs? I dont even have 100 contacts to test this.
I'm no dev. but I do believe if your phone is rooted, you should be able to simply do adb pull, make the changes, then push the file back?
Leme' know if that works, just a thought
Well, I have the answer from Christopher
Like I mentioned, needing to remove the check is probably indicative that there's a better way to do things, but that answer pretty much covered the steps:
1. Obtain a device that has root access
2. Enter the device shell (the "adb shell" command) 3. Use the command line tools to alter the settings database 4. Reboot
For more details, check Google or try asking on StackOverflow.com as it's an official Android support channel.
Click to expand...
Click to collapse
Trying now
lol if you dont like the mods here...try androidoverdrive.com. they are pretty helpful there. I'm also interested in seeing if you get this to work.
I got it to work! Heres how(taken from link above):
Open Command Terminal and enter the following:
adb shell
sqlite3 /data/data/com.android.providers.settings/databases/settings.db
Then you'll see: sqlite>
Then enter the following to alter the limit
INSERT INTO gservices (name, value) VALUES('sms_outgoing_check_max_count', 101);
(change 101 to your new limit)
I didnt try altering the limit so I hope it works for you guys.. but I can confirm this next one works. It completely turns off the limit altogether.
To turn off the limit enter:
INSERT INTO gservices (name, value) VALUES('sms_outgoing_check_interval_ms', 0);
It worked right away for me.. (SMS Bomber >)) Id reboot to be safe.
could anyone help me out? i get "sqlite3 permission denied" when i try to access the db i'm positive i'm doing something wrong because i am new at this.... i plug the phone in, open cmd prompt, cd to the tools on my hd... typed in what was listed and that error came up let me know...! thx
skanndelus said:
could anyone help me out? i get "sqlite3 permission denied" when i try to access the db i'm positive i'm doing something wrong because i am new at this.... i plug the phone in, open cmd prompt, cd to the tools on my hd... typed in what was listed and that error came up let me know...! thx
Click to expand...
Click to collapse
type
adb shell
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
then sqite3 and so on...
Ok, I"m having trouble doing this on my EVO.
Here's what I've done so far:
1. Rooted with UnrEVOked
2. Installed SDK,
3. Added to path,
4. turned on usb debugging
5. connected with usb, drives did install
6. tested with adb devices, serial showed up
7. adb shell
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
mount: Operation not permitted
8. sqlite3 /data/data/com.android.providers.settings/databases/settings.db
sqlite3: permission denied
DancinDirk said:
Ok, I"m having trouble doing this on my EVO.
Here's what I've done so far:
1. Rooted with UnrEVOked
2. Installed SDK,
3. Added to path,
4. turned on usb debugging
5. connected with usb, drives did install
6. tested with adb devices, serial showed up
7. adb shell
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
mount: Operation not permitted
8. sqlite3 /data/data/com.android.providers.settings/databases/settings.db
sqlite3: permission denied
Click to expand...
Click to collapse
Are you sure you have superuser access then? Go into terminal and type in "su" and tell me what you get.
Had a long day... how do I get into terminal?
DancinDirk said:
Had a long day... how do I get into terminal?
Click to expand...
Click to collapse
Your going to need to download it from market=p. Since the evo doesn't have a keyboard though you might need to use something like better terminal which lets you use a virtual keyboard.
When I try:
INSERT INTO gservices('sms_outgoing_check_interval_ms', 0);
SQL error: near "0": syntax error
I am using a rooted HTC (Sprint) Hero running the Aolysuis 2.1 rom.
Disregard everyone. Apperently you have to enter that whole command as written. I thought maybe he was giving a general syntax structure and then provoding us with specific values....that is what it looked like to me but no
INSERT INTO gservices (name, value) VALUES ('sms_outgoing_check_interval_ms', 0);
is the whole command...kind of silly looking if you ask me.
dsMA said:
Disregard everyone. Apperently you have to enter that whole command as written. I thought maybe he was giving a general syntax structure and then provoding us with specific values....that is what it looked like to me but no
INSERT INTO gservices (name, value) VALUES ('sms_outgoing_check_interval_ms', 0);
is the whole command...kind of silly looking if you ask me.
Click to expand...
Click to collapse
May look silly, but that's how Structured Query Language is written. Don't be intimidated or embarrassed by the mistake, no worries!
Also, I have added this how-to guide on my website, located in my signature. OP, excellent find and great guide.
any idea why I'm having to repeat this process every couple of days?
mejorguille said:
Are you sure you have superuser access then? Go into terminal and type in "su" and tell me what you get.
Click to expand...
Click to collapse
I have tried everything from the steps above to just typing
C:\Users\Israel David>cde C:\android-sdk-windows\tools
'cde' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\Israel David>cd C:\android-sdk-windows\tools
C:\android-sdk-windows\tools>sqlite3 /data/data/com.android.providers.settings/d
atabases/settings.db sqlite3 /data/data/com.android.providers.settings/databases
/settings.db
sqlite3: Error: too many options: "/data/data/com.android.providers.settings/dat
abases/settings.db"
Use -help for a list of options.
C:\android-sdk-windows\tools>sqlite3 /data/data/com.android.providers.settings/d
atabases/settings.db
SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> INSERT INTO gservices (name, Value)
...> VALUES('sms_outgoing_check_interval_ms',0);
Error: unable to open database "/data/data/com.android.providers.settings/databa
ses/settings.db": unable to open database file
SECOND WAY ......
C:\android-sdk-windows\tools>sqlite3 /data/data/com.android.providers.settings/d
atabases/settings.db
SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> INSERT INTO gservices (name, value) VALUES('sms_outgoing_check_interval_
ms',0);
Error: unable to open database "/data/data/com.android.providers.settings/databa
ses/settings.db": unable to open database file
IN BOTH WAY THEY SAY UNABLE TO OPEN DATABASE FILE AND I DO HAVE ROOT ACCESS I HAVE CHECKED
I am using a Sprint Hero! Flash 2.1 ROM I need to find a way to erase the LIMIT because I have 4 groups with over 200 people that receive daily txts and I have tried using Command Prompt and Terminal and on Command Prompt it says that sqlite3: not found and on Terminal adb: not found or permission denied
I have su permission
Just tried to do this on my newly updated 2.2 evo (OMJ build) and I got
SQL Error: no such table: gservices
Has this hack/fix changed in 2.2 or did they remove the limit?
I cant get SQLite3 to work at all:
sh-3.2# sqlite3
sh: sqlite3: command not found
Please note that this ROM is intended for the S5830i only! Flash at your own risk!
If you like Aurora just press the thanks button!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Contents
Quote 1: Introduction
Quote 2: Features and Credits
Quote 3: Download Link and Installation Instructions
Quote 4: Known Issues
Quote 5: Screenshots
Quote 6: Other Information
2nd Post: Android Shell Environment Information and Tutorial
1. Introduction
I've been working on this for a couple of months now and this is a very stable ROM that I hope you will agree, has some great features (see below). It doesn't try to act like any particular later version of Android, I've just gone for what looks best in each individual case. I am experiencing almost no force closes whatsoever and no forced reboots at all. Hopefully others will confirm the same. I have declared this first version a beta as I haven't tested it on every firmware and one person can only test for and eliminate so many bugs. It should run fine on all firmwares. I would be grateful if you could report any bugs or issues in this thread.
Click to expand...
Click to collapse
2. Features and Credits
Core System Features
Prerooted with su binary and Supersu root access management tool
BusyBox v1.20.2-linusyang - Fully working - the latest and best version.
ROM deodexed by me
Rafael.Baugis kernel E3 rev. 201212101860
Android (Bash) Shell Environment (original thread) with many great features including:Bash shell v4.1.11(2)
Custom login screen
Multi-session command history
Tab auto-completion
Colour coded ls output
Nano text editor - fully working!
Dropbear secure shell (ssh) server
adbwifi script - surprisingly it allows you to connect to adb over wifi
reboot script - reboot, reboot recovery, soft/hot reboot, power off device
remount script - easily remount /system as re-writable / read-onlyAdAway hosts file - blocks advertisements - install Adaway to remove/update
ROM based on XXLI1 - Was thinking of upgrading it to latest firmware but there has been issues with that particular firmware
Apps Features
Bloatware deleted
Chrome as default browser
Total Commander as default file manager
ICS Gallery as default gallery
No-Frills CPU Control
DroidWall firewall
Latest Play Store
Slightly modded Terminal Emulator included with Bash as default shell (Hacker's Keyboard recommended)
Zipaligned all apps for optimized performance
Still 62.3MB free on /system
Theming Features
Xperia S Launcher
SkyRaider boot animation
15 Toggles and 6 Lockscreens Mod
Lidroid Preferences
Almost all icons of all apps changed for custom hand-picked ones
1% Battery Mod
Light blue right-hand status bar icons - personally redesigned some of the icons
Light blue status bar clock
Themed status bar drop-down
Jellybean menu sound
Aurora-coloured overscroll
Aurora landscape wallpaper
Other minor theming stuff
Credits
Rafael Baugis for his excellent kernel
SenseiSimple for Android Shell Environment
Alucard1989pl for 15 Toggles and 6 Lockscreens
bijoy91 for camera settings small fonts fix
UOT kitchen for some of the theming
dsixda's Android Kitchen to deodex the ROM
Anybody else that I've accidently missed out!
Click to expand...
Click to collapse
3. Download Link and Installation Instructions
Download Link (Click Here)
1. Download Aurora's zip file.
2. Put Aurora's zip file in "/sdcard".
3. Reboot into recovery.
4. If you have stock recovery, select "apply update from sdcard" and use this zip file (put it in /sdcard) to open CWM recovery.
5. Once in CWM recovery, select "wipe data / reset" > "Yes"
6. Now select "install zip from sd" > "choose zip from sd card" > "aurora<version>.zip" > Yes
7. Wait for installation to finish, press the back button and select "reboot system now"
The phone will now reboot into Aurora. The first boot will take around two minutes, during which the screen will go blank for around one minute, so no need to panic! Subsequent boots will be much quicker.
Note: When you install this ROM, you will get e3 (stock) recovery. If you need the permanent version of CWM (because and only if you have an ext4 filesystem), then simply flash Rafael's CWM boot.img after flashing Aurora's zip file.
Click to expand...
Click to collapse
4. Known Issues
An icon of an app that is stored on the SD card that has been placed on the home screen / desktop occasionally dissapears after rebooting. This is a bug in the Xperia S launcher and there is not an awful lot I can do about this personally. There are a couple of workarounds however.
Workaround 1: The obvious, move the app to the phone's internal memory
Workaround 2: Place apps stored on the SD card in a folder on the home screen / desktop and they will not dissapear after reboots.
Click to expand...
Click to collapse
5. Screenshots
Click to expand...
Click to collapse
6. Other Information
You may use and/or redistribute my work but please give me credit. If redistributing this ROM, please link to this thread.
By the way this is my first ROM, thought I'd sneakily leave that until last
Click to expand...
Click to collapse
Android Shell Environment Information and Tutorial
Android Shell Environment Information and Tutorial
You may want to read through the original thread first.
Android Shell Environment Aurora Specific Information
The main difference between the original version of Android Shell Environment and the one included in Aurora is that all files are stored on the /system partition except for a couple of configuration files.
Take a look in /system/sbin for the useful utilities mentioned in the original thread
Scripts are in /system/bin (along with a lot of other Android system files).
Most of the configuration files are in /system/etc although a couple are in /data/local
In Aurora, unlike the original version, there is no option to make Bash the default shell. Firstly, this causes a bootloop on the S5830i and secondly it is pretty pointless anyway because Bash doesn't load its configuration files when set as the default shell which removes much of its functionality.
The binaries htop, scp, ssh and vim have been removed because they do not work. For all of these, there are working alternatives. For htop, use top instead, for scp use rsync, for vim use nano, for ssh use adbwifi. The text editor Joe does not work properly but has been included. Either use Nano instead or if you can get it working then please tell me how you did it!
Click to expand...
Click to collapse
Android Shell Environment Tutorial
How To Use BashTo start Bash:
ADB: From your PC command line, type 'adb shell' <enter>, then type 'bash' <enter>. Do not type 'adb shell bash' all in one go, this will cause problems.
Terminal Emulator: Bash loads automatically.
Command History - Press the <UpArrow> and <DownArrow> keys to scroll through your command history. Use Hacker's Keyboard to do this in Terminal Emulator.
Auto Completion - Start typing the name of a file, folder or command, then press <Tab> to have Bash automatically complete the rest of the text. If nothing happens when you press <Tab>, then there may be multiple options, double press <Tab> to see the multiple options.
For auto-completion in Terminal Emulator, I have set a default preference so that when the phone's back key is pressed it send's out the keyboard <Tab> key. Note that this means that you cannot close Terminal Emulator using the back key, you have to enter the 'exit' command. You can change this preference in the app's settings.
To leave Bash: - Enter the command 'exit'
Click to expand...
Click to collapse
How To Use Nano Text Editor
Nano is a user friendly command line editor. To start nano and create a new file simply type 'nano'. To start nano and open a specific file for editing type, e.g. 'nano /system/build.prop'.
If you are editing on the system partition then make sure you enter the command 'remount rw' before starting nano to mount /system as re-writable.
When you are finished editing, to exit nano enter the key combination <Ctrl>+<X>. If you have modified the file, nano will ask you if you wish to save it and request that you enter a file name.
That's basically all there is to it when it comes to the basics of this program.
Click to expand...
Click to collapse
How To Use the Reboot CommandI have rewritten the original reboot script to include a couple more parameters. Reboot now accepts the following options:
reboot - normal reboot
reboot recovery - obvious
reboot hot - hot/soft/quick reboot, restarts the Android runtime
reboot off - powers off the device, alternatively you can use the command 'halt' to acheive this
Click to expand...
Click to collapse
How To Use The Sudo Commandsudo is a well known Linux feature that runs a single command as root, useful if you generally want to work as a normal user for safety/security.
An example of this would be 'sudo adbwifi on'
Click to expand...
Click to collapse
How To Enable/Disable ADB Over WiFiDo NOT do this from ADB shell, do this from Terminal Emulator.
Enter the command 'adbwifi on'
Follow the prompts on-screen, it tells you the rest.
To disable use 'adbwifi off'
Click to expand...
Click to collapse
How To Demote Yourself To Normal User In ADB ShellNote: Do not do this from Bash because it doesn't work, either run it before you start bash or type 'exit', run the command, then start Bash again.
By default, ADB shell logs you in as root because Rafael's kernel has an ADB 'root mod'. This is generally very handy but sometimes, working as root is not ideal because it's very easy to brick your phone. Thankfully it is actually possible to be demoted to normal user status with the following command:
'su shell'
If you wish to return to root user, enter the command 'exit'
Click to expand...
Click to collapse
How To Use DropBear Secure Shell Server
Dropbear allows you to login to your phone's shell (i.e. like adb shell / terminal emulator) from another device such as a PC or phone using, for example, WiFi.
To start Dropbear with the password 'pickledjelly' enter the command:
/system/sbin/dropbear -A -N root -U 0 -G 0 -C pickledjelly -r /system/etc/dropbear_rsa_host_key -b /system/etc/.dbbanner
To login from another Android device you can use e.g. Connect Bot,
use ssh protocol and in the text box enter [email protected]
Replace x and y with your phone's IP address from your WiFi router (you can get this with the command 'ifconfig')
To login from a PC running Linux enter the command:
ssh 192.168.x.y
To stop the Dropbear server issue the command 'killall Dropbear'
Click to expand...
Click to collapse
gud work man......i think this rom can have great future.....
make it final.
great job dude..:good:. now trying to combined with cronmod script by styrke...(only this way to solve our internal memory issue)
well done... all working with cronmod...
Glad some like it, cheers :good:
your rom sounds great! but is there really no way to get it based on xxlk3 (ins) ?
HeathenMan said:
your rom sounds great! but is there really no way to get it based on xxlk3 (ins) ?
Click to expand...
Click to collapse
Hi HeatherMan, I have held back on upgrading the ROM to XXLK3 so far because there were issues with IMEI numbers going awol when combining XXLK3 ROMs with custom kernels. I'll look at this again at some point though.
Aurora does work perfectly fine on XXLK3 firmware though, I currently have XXLK3 UK myself.
hi. why u don't use hell_lock kernel? thats might be better.i guess so.
SemBoyHehe said:
hi. why u don't use hell_lock kernel? thats might be better.i guess so.
Click to expand...
Click to collapse
hell_lock? wtf it is pre alpha and not stable with less features, what kind of better is THAT ?!?
HeathenMan said:
hell_lock? wtf it is pre alpha and not stable with less features, what kind of better is THAT ?!?
Click to expand...
Click to collapse
hey bro. u se ' I GUESS SO' u see that many people have trouble on that ketnel like dont have imei, earphone prob n etc. that why i guesd so
I chose Rafael's kernel because it has the most features and is currently quite stable. Hells Fusion does not presently have full IP tables needed for firewalls and has no governors or schedulers other than the standard ones.
When testing the XXLK3 IMEI issue I found that it occurred in Hells Fusion kernel as well as Rafael's. I also encountered the headphone problem at one point and found that it was because I'd flashed the boot.img but did not have the kernel modules installed.
Hello guys.
I stumbled across a reddit thread providing some run shell commands to replace secure settings. The fixes on Android 6.0 allowed me to install and grand the root permissions but never actually worked as intended. Secure settings still returns errors when used.
Long story short I built on the list adding ones I used before from my list.
Here is about 30 most common run shell commands. I will update list if i come across some new ones. Also appreciate your input if you happen to use some good ones.
You can access it all here:
http://www.notenoughtech.com/tasker/tasker-run-shell-commands/
Happy tasking. :good:
Boy, where do I start? The list would be endless. Anyway, here are some, not all, that I use.
Root commands
Open power menu: sendevent /dev/input/event0 1 116 108 && sendevent /dev/input/event0 0 0 0
Restart SystemUI: pkill -l TERM -f com.android.systemui
Safe reboot: svc power reboot
Safe reboot to recovery: svc power reboot recovery
Get list of all system/global/secure settings along with their values; using system settings as example: settings list system
Read system/global/secure setting to a variable; using secure setting accessibility_enabled as example: settings get secure accessibility_enabled
Change system/global/secure setting; using secure setting accessibility_enabled as example: settings put secure accessibility_enabled 0
Make /system rewritable: mount -o remount,rw /system
Make /system read-only: mount -o remount,ro /system
Change file permissions, using /system/etc/hosts as example; numbers are 7 for rwx, 6 for rw, 4 for r; first number is for root (system user), second is for group, third is for all users: chmod 644 /system/etc/hosts
Tap at x,y pixels on screen, using 540,1500 as example: input tap 540 1500
Swipe from x1,y1 to x2,y2, using 540,1500 to 540,300 (swipe up) as example: input swipe 540 1500 540 300
Read/change another app's database; can't give examples as this would need a full tutorial: sqlite3 /path/to/.db_file "sqlite3 commands";
non-root command
Open any app from a variable %package_name containing com.paclage.name; this one is javascript, not shell script [note that you don't want to put % before variable in javascript]: loadApp(package_name, '', false);
Extract %file zip file to /sdcard: unzip %file /sdcard/
Move a file: mv /original/path /new/path
Copy a file: cp /original/path /new/path
Read a file to a variable: cat /path/to/file
Write %var to a file: echo %var > /path/to/file
Delete a file: rm /path/to/file
Delete a folder and all its contents: rm -r /path/to/folder
Check whether a process is doing something or not; set the output to a variable, set a wait for some time, and then get the output again, if output has changed then the process is doing something: ps | grep com.package.name
Sukarn said:
Boy, where do I start? The list would be endless. Anyway, here are some, not all, that I use.
Click to expand...
Click to collapse
Thanks I'm updating the page as I type this! - I completely forgot about file operations if I'm honest. Good to have others to contribute!
quintaar said:
Thanks I'm updating the page as I type this! - I completely forgot about file operations if I'm honest. Good to have others to contribute!
Click to expand...
Click to collapse
You need to proofread that page. There are lots of errors in there that will stump newbs
Sukarn said:
You need to proofread that page. There are lots of errors in there that will stump newbs
Click to expand...
Click to collapse
That's what I'm doing now , trying to put them, in some logical order as well, to make it easy to find, and use. I do appreciate the time taken to type this.
Is input keyevent correct for emulating the power button in a shell command? The # on the website didn't work. I found the generic.kl file in my /system/usr folders and the key # for power listed there did now work with that shell command, either. Even with run as root checked.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
LeftyGR said:
Is input keyevent correct for emulating the power button in a shell command? The # on the website didn't work. I found the generic.kl file in my /system/usr folders and the key # for power listed there did now work with that shell command, either. Even with run as root checked.
Click to expand...
Click to collapse
I believe hardware keys would be device specific, ego could have different codes.
quintaar said:
I believe hardware keys would be device specific, ego could have different codes.
Click to expand...
Click to collapse
I guess my real question is that the correct shell command as it is written? Because with my specific device key code did not do anything.
Are you trying to do this when the phone display is on or off? this only works when screen is on. input keyevent 26 works fine on my device
quintaar said:
Are you trying to do this when the phone display is on or off? this only works when screen is on. input keyevent 26 works fine on my device
Click to expand...
Click to collapse
On... Guess it does not like me.
LeftyGR said:
On... Guess it does not like me.
Click to expand...
Click to collapse
Do you get any error? My most common mistake is spelling the run shell with upper case, as my keyboard automatically corrects it. And if I forget to change it, it returns an error
quintaar said:
Do you get any error? My most common mistake is spelling the run shell with upper case, as my keyboard automatically corrects it. And if I forget to change it, it returns an error
Click to expand...
Click to collapse
Yes. Appears to be a timeout error.
Background Data On/Off? Thanks in advance
Sent from my hlte using XDA-Developers mobile app
LeftyGR said:
Yes. Appears to be a timeout error.
Click to expand...
Click to collapse
I stumbled on this:
http://forum.xda-developers.com/showthread.php?t=2063741
Perhaps will help you more as well
shaharofir said:
Background Data On/Off? Thanks in advance
Sent from my hlte using XDA-Developers mobile app
Click to expand...
Click to collapse
I've not come across the setting, but try to use:
settings list system
settings list global
settings list secureand see what your device will give you in options lists.
I totally forgot about another shell command that I have set up in Tasker: md5sum /path/to/file
I use it to verify the integrity of downloads in an OTA app I made for a custom ROM using only Tasker.
---------- Post added at 10:52 AM ---------- Previous post was at 10:43 AM ----------
quintaar said:
Are you trying to do this when the phone display is on or off? this only works when screen is on. input keyevent 26 works fine on my device
Click to expand...
Click to collapse
On my phone (OnePlus One), "input keyevent 26" just turns the screen off, while 116 does nothing.
LeftyGR said:
I guess my real question is that the correct shell command as it is written? Because with my specific device key code did not do anything.
Click to expand...
Click to collapse
Did you try the command I posted at the top of my post here? It's the second post in this thread.
quintaar said:
I've not come across the setting, but try to use:
settings list system
settings list global
settings list secure
and see what your device will give you in options lists.
Click to expand...
Click to collapse
Thanks. Will give it a try.
Sukarn said:
I totally forgot about another shell command that I have set up in Tasker: md5sum /path/to/file
.
Click to expand...
Click to collapse
I have added this one as well Thanks
shaharofir said:
Thanks. Will give it a try.
Click to expand...
Click to collapse
Looked, nothing there. Any suggestions?
Sent from my hlte using XDA-Developers mobile app
shaharofir said:
Looked, nothing there. Any suggestions?
Sent from my hlte using XDA-Developers mobile app
Click to expand...
Click to collapse
Perhaps maybe more luck with intents? I'm working on the similar list for it
Sent from my Nexus 6P using Tapatalk
hi, im trying to setup tasker to send a curl command to my raspberry pi.
here is the command:
curl h t t p ://192.168.1.9/scripts/dash.py | python (not allowed to post links yet)
the dash.py is just a simple script to toggle my hue lights and mpd on/off,
it works when i send the command from my ubuntu terminal.
im dont use tasker much, but i found on google that i should use http get/post,
but i dont know how to set this up
hope someone can help me with this
Hi,
To my understanding, the pipe ('|') symbol in the command takes the output of the curl command and sends it as input to Python. So, when you execute the command on your Ubuntu terminal, it downloads the dash.py script from 192.168.1.9 (Raspberry Pi, I assume?) and executes it using Python on your Ubuntu terminal, as far as I know.
You can use Tasker's HTTP Get to download the dash.py script to your phone, and then you would need to use Scripting Layer for Android (SL4A) with Python for Android to execute the dash.py script on your phone. If the dash.py script has a lot of dependencies (Modules), this probably won't work. If the dash.py script doesn't change, you don't have to download it each time, so you can just keep the dash.py file on your phone.
However, this is not very elegant, as the script is executed on your phone each time. Alternatively, you could execute dash.py on your Raspberry Pi, possibly triggered from your phone using Tasker and AutoRemote (h t t p s://youtu.be/1F8XvdrrdIE), for example.
Anyway, here's how to download dash.py to your phone and execute it on your phone:
(This involves installing APKs from unknown sources, so that's your own risk. Make sure 'Unknown Sources' is enabled in your phone's settings.)
Keep in mind, if the dash.py script has a lot of dependencies (Modules), this probably won't work.
Download and install SL4A from h t t p s://github.com/kuri65536/sl4a/releases
Scroll to find the correct version of sl4a-r*-debug.apk for your phone (probably armv7 or arm).
If you're on Android 6.0+, revoke any permissions you don't need, but keep the Storage permission.
Download and install Python for Android from h t t p s://github.com/kuri65536/python-for-android/releases
Depending on whether dash.py is written for Python 2.* or Python 3.*, you would need PythonForAndroid-debug-r*.apk or Python3ForAndroid-debug-r*.apk, respectively.
Scroll to find it.
Launch Python for Android, and press 'Install'.
Launch SL4A. You should see a list of Python scripts. Tap one to check if it works (say_time.py for example).
Now for the Tasker part, create the following task:
Net --> HTTP Get (only necessary once if dash.py never changes)
Serverort: h t t p ://192.168.1.9
Path: /scripts/dash.py
Output File: sl4a/scripts/dash.py
Run it once, so dash.py is on your phone. (If dash.py never changes, you can disable this Action after you ran it once.)
To have the script be executed in the foreground, add this Action:
Plugin --> SL4A
Tap dash.py
To have the script be executed in the background instead, add this Action:
System --> Send Intent
(Make sure there are no spaces in any of the values.)
Action: com.googlecode.android_scripting.action.LAUNCH_BACKGROUND_SCRIPT
Extra: com.googlecode.android_scripting.extra.SCRIPT_PATH:storage/emulated/0/sl4a/scripts/dash.py
Package: com.googlecode.android_scripting
Class: com.googlecode.android_scripting.activity.ScriptingLayerServiceLauncher
Target: Service (Activity also works)
That's it! The Tasker task isn't very extensive, only one Action (Either 'Plugin --> SL4A' or 'System --> Send Intent') if dash.py only needs to be downloaded once.
I hope this is useful to you!
Please, propose a task which does:
- unfreeze set of apps and
- switch ON location (or other) service.
And also:
- freeze apps,
- switch OFF location etc service.
It's needed for phone power efficiency, Google services switched on only when an app needing it is launched (and vice versa).
HELIUM, LOCKED bootloader, [ROM][UNOFFICIAL][7.1.2][HYDROGEN/HELIUM]LineageOS 14.1 r.06-24-2017 by*nijel8
Wait, how do you have a custom ROM on a device with a locked bootloader?
I use the following to freeze a list of apps:
create a run shell command, with root:
cat "/storage/emulated/0/disable-apps.txt" | while read d; do tmp=$(echo $d | awk {'print $1'}); adb shell "su -c 'pm disable $tmp'"; done
the text file just includes apps in full name, such as net.dinglisch.android.taskern,1 name per line
for location, run this shell command with root:
settings put secure location_providers_allowed +gps,network
@alienyd thanx a lot, it looks like the key engine are Linux shell commands for Android. And how do you know of them, is there any "man" for Android shell commands (like: settings put secure location_providers_allowed +gps,network) to look through oneself?
Vagelis1608 said:
Wait, how do you have a custom ROM on a device with a locked bootloader?
Click to expand...
Click to collapse
Yes, it is possible in this phone model: Xiaomi MiMax (Qualcomm Snapdragon chipset)
HELIUM, LOCKED bootloader, [ROM][UNOFFICIAL][7.1.2][HYDROGEN/HELIUM]LineageOS 14.1 r.06-24-2017 by*nijel8
hmm somehow my reply wasn't posted...
anyways, just search for useful tasker shell commands, I saw some threads in here about that. You can also list out all system variables and their values, which is imo priceless for automating tasks!
Yes, but found many examples from most are just typical Linux system commands, like:
Code:
mount -o remount,rw /system
mount -o remount,ro /system
mv /original/path /new/path
cp /original/path /new/path
etc.
And where are purely Android commands list, like:
Code:
pm disable
settings put secure location_providers_allowed +gps,network
?
And they are Android commands, not Tasker's, right?
HELIUM, LOCKED bootloader, [ROM][UNOFFICIAL][7.1.2][HYDROGEN/HELIUM]LineageOS 14.1 r.07-08-2017 by*nijel8
ioy said:
Yes, but found many examples from most are just typical Linux system commands, like:
etc.
And where are purely Android commands, like:
?
And they are Android commands, not Tasker's, right?
HELIUM, LOCKED bootloader, [ROM][UNOFFICIAL][7.1.2][HYDROGEN/HELIUM]LineageOS 14.1 r.07-08-2017 by*nijel8
Click to expand...
Click to collapse
They are Linux commands, but since android is based on Linux it has them.
Tasker can run them without an issue using the Run Shell action (some commands require you to tick the use root box).
Yes, but these commands could be run also from e.g. terminal emulator or scripts without Tasker installed at all, right? In this meaning questioned: if they are Tasker independent and belong to Android itself?
And please, do you know commands to set particular screen orientation: portrait or landscape?
HELIUM, LOCKED bootloader, [ROM][UNOFFICIAL][7.1.2][HYDROGEN/HELIUM]LineageOS 14.1 r.07-08-2017 by*nijel8
ioy said:
Yes, but these commands could be run also from e.g. terminal emulator or scripts without Tasker installed at all, right? In this meaning questioned: if they are Tasker independent and belong to Android itself?
And please, do you know commands to set particular screen orientation: portrait or landscape?
Click to expand...
Click to collapse
Yes, the "commands" you listed are within the OS of android, not integral to Tasker. The example mount command is basic to any Linux kernel. The settings "commands" are really a list of configuration settings that the OS refers to and are android (and device) specific. The are 3 groups of configuration settings: system, global and secure. You can see what your device has by opening a terminal and entering:
settings list system > /sdcard/system-values.txt
That command will list all of the entries in the system configuration and their current values. The output will be put into a file named system-values.txt on the root of your sdcard.
For example, whether the screen is permitted to rotate when the accelerometer senses device rotation is controlled by the value in:
system settings > value user_rotation
For an overview of these configuration settings, please see Best run shell commands in Tasker
Using the "secure" configuration values is the way to replace the defunct "secure settings" plugin using tasker's built in scripting ability.
As far as commands to set screen orientation, IMHO, it's just easier to use Rotation Locker. It integrates with tasker.
ktmom said:
settings list system > /sdcard/system-values.txt
That command will list all of the entries in the system configuration and their current values.
Click to expand...
Click to collapse
Is it possible controlling the whole phone with just these settings variables, i.e. will just commands
Code:
settings get secure/global/system name_of_the_setting
settings put secure/global/system name_of_the_setting 0 or 1
suffice?
ktmom said:
For an overview of these configuration settings, please see Best run shell commands in Tasker
Click to expand...
Click to collapse
I've already read it but thank you very much! (And there're still several doubts)
ktmom said:
As far as commands to set screen orientation, IMHO, it's just easier to use Rotation Locker. It integrates with tasker.
Click to expand...
Click to collapse
Easier, why? Plain text commands are elegant and minimalistic, if Tasker can fire them it is nice to avoid installation of any further third party application. And the whole my question was about it, for any particular task in Tasker you can always find some application which could perform it (without Tasker). And the rationale is to replace them all with one Tasker, agree?
Please, answer the question: which text console command can switch screen orientation: Portrait or Landscape (can't see relevant variable)
ioy said:
Is it possible controlling the whole phone with just these settings variables, i.e. will just commands
Code:
settings get secure/global/system name_of_the_setting
settings put secure/global/system name_of_the_setting 0 or 1
suffice?
Click to expand...
Click to collapse
No, it's a big part, but, for example, forcing an app that is programmed to not rotate ever, into rotating is more than defining settings.
Easier, why? Plain text commands are elegant and minimalistic, if Tasker can fire them it is nice to avoid installation of any further third party application. And the whole my question was about it, for any particular task in Tasker you can always find some application which could perform it (without Tasker). And the rationale is to replace them all with one Tasker, agree?
Click to expand...
Click to collapse
No, not agreed. The point of tasker is to bring the ability to script custom actions to the programming knowledgeable community. Tasker enables people familiar with the concept of if/then/else or variable arrays, ect to derive results based on triggers WITHOUT having to be experts in the deepest layers of the android system.
Plugins bring to the user access to actions not included in tasker. If every possible combination of options was built into tasker, the app would be enormous. It's also unnecessary for the average user who is looking to pop up a particular keyboard automatically when an specific app is launched. Or to turn gps on/off only when using navigating apps....ect.
Please, answer the question: which text console command can switch screen orientation: Portrait or Landscape (can't see relevant variable)
Click to expand...
Click to collapse
The user rotation variable I used in an example earlier. Which is the same as using tasker's built in Display AutoRotate. Other than "because I can", I can't imagine why using the built in action would not be preferred.
The trick is there more that goes into whether or not an app will be forced to rotate. The individual app's display layer does things like looks at the screen dpi and the app's layout and I don't know what and determines how and when to rotate if the user authorizes the screen to rotate in the first place. This can all be over ridden if you are sufficiently knowledgeable in the programming of android apps. But then, why the heck would anyone introduce the overhead of a framework like tasker.
I encourage you to look for android app development tutorials to enhance your understanding in the depth you are looking for. But also understand that you are pushing the use case of the tasker app.
Automagic offers such an option.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
It's disappointing Tasker needs some plugin to do this simple thing. If I need plugin then why tasker, there are many other applications controlling screen orientation!
ivy.lally said:
Automagic offers such an option.
It's disappointing Tasker needs some plugin to do this simple thing. If I need plugin then why tasker, there are many other applications controlling screen orientation!
Click to expand...
Click to collapse
If you want to use a different app for everything, be my guest.
Tasker has a built-in action for autorotation.
An this only switches AutoRotation ON/OFF, what is actually needed is screen orientation settings: to switch AutoRotation OFF and then to set fixed screen orientation of choice.
HELIUM, LOCKED bootloader, [ROM][UNOFFICIAL][7.1.2][HYDROGEN/HELIUM]LineageOS 14.1
alienyd said:
I use the following to freeze a list of apps:
create a run shell command, with root:
cat "/storage/emulated/0/disable-apps.txt" | while read d; do tmp=$(echo $d | awk {'print $1'}); adb shell "su -c 'pm disable $tmp'"; done
the text file just includes apps in full name, such as net.dinglisch.android.taskern,1 name per line
for location, run this shell command with root:
settings put secure location_providers_allowed +gps,network
Click to expand...
Click to collapse
Hello!
I know this is a while ago that You posted this, I hope anyway that You answers me!? I want to freeze a App (Sony-Smart-Connect) automatically with Tasker, and in searching for a how to, I have seen Your post here! Can You Please say me, where exactly in the shell command I must put the full App-Name, and where can I find the full App-Package-Name of a installed App!? My Device is rooted, and I have a root-file-explorer with access to all folders! Please Help me!:highfive:
Thanks in advance!
RoseL.
roselanguste said:
Hello!
I know this is a while ago that You posted this, I hope anyway that You answers me!? I want to freeze a App (Sony-Smart-Connect) automatically with Tasker, and in searching for a how to, I have seen Your post here! Can You Please say me, where exactly in the shell command I must put the full App-Name, and where can I find the full App-Package-Name of a installed App!? My Device is rooted, and I have a root-file-explorer with access to all folders! Please Help me!:highfive:
Thanks in advance!
RoseL.
Click to expand...
Click to collapse
I think your app package name is: com.sonyericsson.extras.liveware
I don't use that app but going to apkmirror.com and searching for it gave me the package. Depending on version, settings -> apps and finding the app might have the package name listed. It no longer does on my oreo ROM.
The operative explanation in the post you quoted is:
the text file just includes apps in full name, such as net.dinglisch.android.taskern,1 name per line
Click to expand...
Click to collapse
The text file is what is called in the run shell command:
run shell command, with root:
cat "/storage/emulated/0/disable-apps.txt" | while read d; do tmp=$(echo $d | awk {'print $1'}); adb shell "su -c 'pm disable $tmp'"; done
Click to expand...
Click to collapse
"Good judgment comes from experience, and a lot of that comes from bad judgment." - Will Rogers
ktmom said:
I think your app package name is: com.sonyericsson.extras.liveware
I don't use that app but going to apkmirror.com and searching for it gave me the package. Depending on version, settings -> apps and finding the app might have the package name listed. It no longer does on my oreo ROM.
The operative explanation in the post you quoted is:
The text file is what is called in the run shell command:
"Good judgment comes from experience, and a lot of that comes from bad judgment." - Will Rogers
Click to expand...
Click to collapse
Thanks! I have found a other way! - I have downloaded the Secure-Settings-Tasker-Plugin, and it has the ability to Freeze, Kill Apps, and it worked in the moment! But I learn a new thing from Your answer!
Thanks!
fyi the core command is
shell su -c pm disable (app-full-name)
You should be able to manually freeze apps with it. My post was meant for batch freezing with a file list. As this is a native shell command, you don't need any extra plugin for the job.
alienyd said:
I use the following to freeze a list of apps:
create a run shell command, with root:
cat "/storage/emulated/0/disable-apps.txt" | while read d; do tmp=$(echo $d | awk {'print $1'}); adb shell "su -c 'pm disable $tmp'"; done
the text file just includes apps in full name, such as net.dinglisch.android.taskern,1 name per line
for location, run this shell command with root:
settings put secure location_providers_allowed +gps,network
Click to expand...
Click to collapse
For some reason this doesn't seem to work for me.
I have pasted the error log below:
15.45.19/E Run Shell: ->
15.45.19/E Run Shell: ->
15.45.19/E Run Shell: ->
15.45.19/Shell runBackground cat "/storage/emulated/0/disable-apps.txt" | while read d; do tmp=$(echo $d | awk {'print $1'}); adb shell "su -c 'pm disable $tmp'"; done root: true timeout: -1
15.45.19/Shell start process-thread ID 803
15.45.19/E add wait type Shell1 time 2147483647
15.45.19/E add wait type Shell1 done
15.45.19/E add wait task
15.45.21/E Error: 1
Edit: I tried the command in Termux and the following error came up:No devices/emulators found.