码迷,mamicode.com
首页 > 移动开发 > 详细

WhatsApp & Tasker for Android – Read & Write messages

时间:2015-05-19 18:07:52      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:

WhatsApp & Tasker for Android – Read & Write messages

The requirement for the automation is that, if I send a WhatsApp ‘wru’ message to the phone,

it should respond back giving the location and battery level of my phone.

It could be useful, if you like to locate your misplaced phone or automatically reply to your partner/friend,

honestly, I don’t know what you will use it - through this post, I am just introducing automating WhatsApp using Tasker.

Before we begin, the following script only works when your phone is rooted as

we will be accessing the WhatsApp database and type some special characters like ‘:’.

Let’s follow the code line by line:

Profile: 
        Location request from XYZ. (12) 
// Name of your profile.

Event: 
        Notification [ Owner Application:WhatsApp Title:* ] 
// When a new notification comes from WhatsApp, this event is fired. 
// Read the end note, if you face problems with Chrome app after enabling Tasker accessibility.

Enter: 
        A1: Run Shell [ Command:sqlite3 /data/data/com.whatsapp/databases/msgstore.db 
                        "SELECT _id, data FROM messages WHERE key_from_me=‘0‘ AND key_remote_jid LIKE ‘%XXXXXXXXXXX%‘ ORDER BY _id DESC LIMIT 1;" 
                        Timeout (Seconds):10 
                        Use Root:On 
                        Store Result In:%WHATSAPP_CURRREQ ] 
// We will access the WhatsApp database and check if the message comes from designated phone number or not. We mustn’t reply to every message. 
// Replace XXXXXXXXXXX with the phone number of your message sender. 
// I made a timeout for 10 seconds, if in case WhatsApp is busy accessing the database. 
// Store the read Id and the last message on to the variable %WHATSAPP_CURRREQ

        A2: If [ %WHATSAPP_CURRREQ ~R .*[wW][rR][uU].* ] 
// Check if the pattern of the message is correct and we are all set to send the location.
                A3: If [ %WHATSAPP_CURRREQ !~ %WHATSAPP_LASTREQ ] 
// Verify that the message is different from the last request. Remember every message has a unique Id.
                        A4: Notify [ Title:WhatsApp location request... Text:Sending location 
                                to Kavita Gupta... Icon:<icon> Number:0 Permanent:On Priority:3 ] 
// Just a notification that the location message is being prepared. 
// Make a note it is a permanent notification, we will clear it later.

                        A5: Secure Settings [ Configuration:Pattern Lock Disabled 
                                Package:com.intangibleobject.securesettings.plugin Name:Secure Settings ] 
// I am disabling the pattern lock, that I use using the plugin Secure Settings. 
// You can download the plugin from here: https://play.google.com/store/apps/details?id=com.intangibleobject.securesettings.plugin&hl=en                                 
                        A6: Secure Settings [ Configuration:Keyguard Disabled Package:com.intangibleobject.securesettings.plugin Name:Secure Settings ] 
// Disable the keygaurd, it is useful, when your phone is on lock and you want to automate everything, even the typing. 

                        A7: Secure Settings [ Configuration:GPS Enabled Package:com.intangibleobject.securesettings.plugin Name:Secure Settings ] 
// Pretty clear, turn on the GPS and get location at A8 

                        A8: AutoShortcut [ Configuration:WhatsApp: Some One Package:com.joaomgcd.autoshortcut Name:AutoShortcut ] 
// I am using AutoShortcut plugin (https://play.google.com/store/apps/details?id=com.joaomgcd.autoshortcut) to start WhatsApp with the indented recipient. 
// Replace Some One, actually choose it from the plugin, the right recipient.

                        A9: Get Location [ Source:Any Timeout (Seconds):30 Continue Task Immediately:Off Keep Tracking:Off ]
// I am getting the location, timeout is 30 seconds, adjust it accordingly.                         

                        A10: Secure Settings [ Configuration:Screen Dim 5 Seconds Package:com.intangibleobject.securesettings.plugin Name:Secure Settings ]
// Now, this extension of the plugin Secure Settings, wakes your device so that you can type out the string on the WhatsApp app.                         

                        A11: Run Shell [ Command:input text LOCATION:maps.google.com/maps?q=%LOC Timeout (Seconds):0 Use Root:On Store Result In: ] 
// Now, I am using the shell script to type the text to the window, because the ‘:’ while not be typed from the Type task in Tasker. 
// And also, this is way faster, but remember you need root for this, not for the other way of typing. 
                        
                        A12: Dpad [ Button:Right Repeat Times:1 ] // Focus the Send button 
                        A13: Dpad [ Button:Press Repeat Times:1 ] // And press it. 
                        A14: Dpad [ Button:Left Repeat Times:1 ] // Get back to the typing box.


                        A15: Run Shell [ Command:input text LOCATION_ACCURACY:%LOCACC Timeout (Seconds):0 Use Root:On Store Result In: ] 
                        A16: Dpad [ Button:Right Repeat Times:1 ] 
                        A17: Dpad [ Button:Press Repeat Times:1 ] 
                        A18: Dpad [ Button:Left Repeat Times:1 ]


                        A19: Run Shell [ Command:input text BATTERY_LEVEL:%BATT% Timeout (Seconds):0 Use Root:On Store Result In: ] 
// I am adding Battery level in my case as well. 

                        A20: Dpad [ Button:Right Repeat Times:1 ] 
                        A21: Dpad [ Button:Press Repeat Times:1 ]


                        A22: Variable Set [ Name:%WHATSAPP_LASTREQ To:%WHATSAPP_CURRREQ Do Maths:Off Append:Off ]
// And now, we say, request is done.                         


                        A23: Button [ Button:Back ] 
// I am exiting the WhatsApp nicely and not killing it. If you are the murderer kind, kill it, just know, you don’t have any place in the heaven. 

                        A24: Button [ Button:Back ]

                        A25: Notify Cancel [ Title: Warn Not Exist:Off ] 
// Remove the permanent notification. 

                        A26: Notify [ Title:WhatsApp location request Text:Location sent successfully. Icon:<icon> Number:0 Permanent:Off Priority:3 ] 
// Make a temporary notification, and say, location is sent.                         
                                
                        A27: Secure Settings [ Configuration:GPS Disabled Package:com.intangibleobject.securesettings.plugin Name:Secure Settings ] 
// Disable all the horrible things we turned on earlier.                         
                        A28: Secure Settings [ Configuration:Pattern Lock Enabled 
                                Package:com.intangibleobject.securesettings.plugin Name:Secure Settings ] 
                        A29: Secure Settings [ Configuration:Keyguard Enabled 
                                Package:com.intangibleobject.securesettings.plugin Name:Secure Settings ] 
                A30: End If 
        A31: End If
        

技术分享

技术分享

 

技术分享

技术分享

<TaskerData sr="" dvi="1" tv="1.3.2u1">
    <Profile sr="prof12" ve="2">
        <cdate>1352377806966</cdate>
        <clp>true</clp>
        <edate>1352473212546</edate>
        <id>12</id>
        <mid0>13</mid0>
        <nme>Location request from Some One.</nme>
        <Event sr="con0" ve="2">
            <code>461</code>
            <App sr="arg0">
                <appClass>com.whatsapp.Main</appClass>
                <appPkg>com.whatsapp</appPkg>
                <label>WhatsApp</label>
            </App>
            <Str sr="arg1" ve="3"/>
        </Event>
    </Profile>
    <Task sr="task13">
        <cdate>1352377810717</cdate>
        <edate>1352473212546</edate>
        <id>13</id>
        <pri>10</pri>
        <Action sr="act0" ve="3">
            <code>123</code>
            <Str sr="arg0" ve="3">sqlite3 /data/data/com.whatsapp/databases/msgstore.db "SELECT _id, data FROM messages WHERE key_from_me=‘0‘ AND key_remote_jid LIKE ‘%PHONE_NUMBER%‘ ORDER BY _id DESC LIMIT 1;"</Str>
            <Int sr="arg1" val="10"/>
            <Int sr="arg2" val="1"/>
            <Str sr="arg3" ve="3">%WHATSAPP_CURRREQ</Str>
        </Action>
        <Action sr="act1" ve="3">
            <code>37</code>
            <lhs>%WHATSAPP_CURRREQ</lhs>
            <op>11</op>
            <rhs>.*[wW][rR][uU].*</rhs>
        </Action>
        <Action sr="act10" ve="3">
            <code>123</code>
            <Str sr="arg0" ve="3">input text LOCATION:maps.google.com/maps?q=%LOC</Str>
            <Int sr="arg1" val="0"/>
            <Int sr="arg2" val="1"/>
            <Str sr="arg3" ve="3"/>
        </Action>
        <Action sr="act11" ve="3">
            <code>701</code>
            <Int sr="arg0" val="3"/>
            <Int sr="arg1" val="1"/>
        </Action>
        <Action sr="act12" ve="3">
            <code>701</code>
            <Int sr="arg0" val="4"/>
            <Int sr="arg1" val="1"/>
        </Action>
        <Action sr="act13" ve="3">
            <code>701</code>
            <Int sr="arg0" val="2"/>
            <Int sr="arg1" val="1"/>
        </Action>
        <Action sr="act14" ve="3">
            <code>123</code>
            <Str sr="arg0" ve="3">input text LOCATION_ACCURACY:%LOCACC</Str>
            <Int sr="arg1" val="0"/>
            <Int sr="arg2" val="1"/>
            <Str sr="arg3" ve="3"/>
        </Action>
        <Action sr="act15" ve="3">
            <code>701</code>
            <Int sr="arg0" val="3"/>
            <Int sr="arg1" val="1"/>
        </Action>
        <Action sr="act16" ve="3">
            <code>701</code>
            <Int sr="arg0" val="4"/>
            <Int sr="arg1" val="1"/>
        </Action>
        <Action sr="act17" ve="3">
            <code>701</code>
            <Int sr="arg0" val="2"/>
            <Int sr="arg1" val="1"/>
        </Action>
        <Action sr="act18" ve="3">
            <code>123</code>
            <Str sr="arg0" ve="3">input text BATTERY_LEVEL:%BATT%</Str>
            <Int sr="arg1" val="0"/>
            <Int sr="arg2" val="1"/>
            <Str sr="arg3" ve="3"/>
        </Action>
        <Action sr="act19" ve="3">
            <code>701</code>
            <Int sr="arg0" val="3"/>
            <Int sr="arg1" val="1"/>
        </Action>
        <Action sr="act2" ve="3">
            <code>37</code>
            <lhs>%WHATSAPP_CURRREQ</lhs>
            <op>2</op>
            <rhs>%WHATSAPP_LASTREQ</rhs>
        </Action>
        <Action sr="act20" ve="3">
            <code>701</code>
            <Int sr="arg0" val="4"/>
            <Int sr="arg1" val="1"/>
        </Action>
        <Action sr="act21" ve="3">
            <code>547</code>
            <Str sr="arg0" ve="3">%WHATSAPP_LASTREQ</Str>
            <Str sr="arg1" ve="3">%WHATSAPP_CURRREQ</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
        </Action>
        <Action sr="act22" ve="3">
            <code>703</code>
            <Int sr="arg0" val="0"/>
        </Action>
        <Action sr="act23" ve="3">
            <code>703</code>
            <Int sr="arg0" val="0"/>
        </Action>
        <Action sr="act24" ve="3">
            <code>779</code>
            <Str sr="arg0" ve="3"/>
            <Int sr="arg1" val="0"/>
        </Action>
        <Action sr="act25" ve="3">
            <code>523</code>
            <Str sr="arg0" ve="3">WhatsApp location request</Str>
            <Str sr="arg1" ve="3">Location sent successfully.</Str>
            <Img sr="arg2" ve="2">
                <icn>17301571</icn>
            </Img>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
            <Int sr="arg5" val="3"/>
        </Action>
        <Action sr="act26" ve="3">
            <code>11820</code>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <com.intangibleobject.securesettings.plugin.extra.BLURB>GPS Disabled</com.intangibleobject.securesettings.plugin.extra.BLURB>
                    <com.intangibleobject.securesettings.plugin.extra.BLURB-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.BLURB-type>
                    <com.intangibleobject.securesettings.plugin.extra.ENABLED>false</com.intangibleobject.securesettings.plugin.extra.ENABLED>
                    <com.intangibleobject.securesettings.plugin.extra.ENABLED-type>java.lang.Boolean</com.intangibleobject.securesettings.plugin.extra.ENABLED-type>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING>gps</com.intangibleobject.securesettings.plugin.extra.SETTING>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.SETTING-type>
                    <com.twofortyfouram.locale.intent.extra.BLURB>GPS Disabled</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.intangibleobject.securesettings.plugin</Str>
            <Str sr="arg2" ve="3">Secure Settings</Str>
        </Action>
        <Action sr="act27" ve="3">
            <code>11820</code>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <com.intangibleobject.securesettings.plugin.extra.BLURB>Pattern Lock Enabled</com.intangibleobject.securesettings.plugin.extra.BLURB>
                    <com.intangibleobject.securesettings.plugin.extra.BLURB-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.BLURB-type>
                    <com.intangibleobject.securesettings.plugin.extra.ENABLED>true</com.intangibleobject.securesettings.plugin.extra.ENABLED>
                    <com.intangibleobject.securesettings.plugin.extra.ENABLED-type>java.lang.Boolean</com.intangibleobject.securesettings.plugin.extra.ENABLED-type>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING>lock_pattern_autolock</com.intangibleobject.securesettings.plugin.extra.SETTING>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.SETTING-type>
                    <com.twofortyfouram.locale.intent.extra.BLURB>Pattern Lock Enabled</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.intangibleobject.securesettings.plugin</Str>
            <Str sr="arg2" ve="3">Secure Settings</Str>
        </Action>
        <Action sr="act28" ve="3">
            <code>11820</code>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <com.intangibleobject.securesettings.plugin.extra.BLURB>Keyguard Enabled</com.intangibleobject.securesettings.plugin.extra.BLURB>
                    <com.intangibleobject.securesettings.plugin.extra.BLURB-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.BLURB-type>
                    <com.intangibleobject.securesettings.plugin.extra.ENABLED>true</com.intangibleobject.securesettings.plugin.extra.ENABLED>
                    <com.intangibleobject.securesettings.plugin.extra.ENABLED-type>java.lang.Boolean</com.intangibleobject.securesettings.plugin.extra.ENABLED-type>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING>keyguard</com.intangibleobject.securesettings.plugin.extra.SETTING>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.SETTING-type>
                    <com.twofortyfouram.locale.intent.extra.BLURB>Keyguard Enabled</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.intangibleobject.securesettings.plugin</Str>
            <Str sr="arg2" ve="3">Secure Settings</Str>
        </Action>
        <Action sr="act29" ve="3">
            <code>38</code>
        </Action>
        <Action sr="act3" ve="3">
            <code>523</code>
            <Str sr="arg0" ve="3">WhatsApp location request...</Str>
            <Str sr="arg1" ve="3">Sending location to Some One...</Str>
            <Img sr="arg2" ve="2">
                <icn>17301571</icn>
            </Img>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="1"/>
            <Int sr="arg5" val="3"/>
        </Action>
        <Action sr="act30" ve="3">
            <code>38</code>
        </Action>
        <Action sr="act4" ve="3">
            <code>11820</code>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <com.intangibleobject.securesettings.plugin.extra.BLURB>Pattern Lock Disabled</com.intangibleobject.securesettings.plugin.extra.BLURB>
                    <com.intangibleobject.securesettings.plugin.extra.BLURB-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.BLURB-type>
                    <com.intangibleobject.securesettings.plugin.extra.ENABLED>false</com.intangibleobject.securesettings.plugin.extra.ENABLED>
                    <com.intangibleobject.securesettings.plugin.extra.ENABLED-type>java.lang.Boolean</com.intangibleobject.securesettings.plugin.extra.ENABLED-type>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING>lock_pattern_autolock</com.intangibleobject.securesettings.plugin.extra.SETTING>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.SETTING-type>
                    <com.twofortyfouram.locale.intent.extra.BLURB>Pattern Lock Disabled</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.intangibleobject.securesettings.plugin</Str>
            <Str sr="arg2" ve="3">Secure Settings</Str>
        </Action>
        <Action sr="act5" ve="3">
            <code>11820</code>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <com.intangibleobject.securesettings.plugin.extra.BLURB>Keyguard Disabled</com.intangibleobject.securesettings.plugin.extra.BLURB>
                    <com.intangibleobject.securesettings.plugin.extra.BLURB-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.BLURB-type>
                    <com.intangibleobject.securesettings.plugin.extra.ENABLED>false</com.intangibleobject.securesettings.plugin.extra.ENABLED>
                    <com.intangibleobject.securesettings.plugin.extra.ENABLED-type>java.lang.Boolean</com.intangibleobject.securesettings.plugin.extra.ENABLED-type>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING>keyguard</com.intangibleobject.securesettings.plugin.extra.SETTING>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.SETTING-type>
                    <com.twofortyfouram.locale.intent.extra.BLURB>Keyguard Disabled</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.intangibleobject.securesettings.plugin</Str>
            <Str sr="arg2" ve="3">Secure Settings</Str>
        </Action>
        <Action sr="act6" ve="3">
            <code>11820</code>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <com.intangibleobject.securesettings.plugin.extra.BLURB>GPS Enabled</com.intangibleobject.securesettings.plugin.extra.BLURB>
                    <com.intangibleobject.securesettings.plugin.extra.BLURB-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.BLURB-type>
                    <com.intangibleobject.securesettings.plugin.extra.ENABLED>true</com.intangibleobject.securesettings.plugin.extra.ENABLED>
                    <com.intangibleobject.securesettings.plugin.extra.ENABLED-type>java.lang.Boolean</com.intangibleobject.securesettings.plugin.extra.ENABLED-type>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING>gps</com.intangibleobject.securesettings.plugin.extra.SETTING>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.SETTING-type>
                    <com.twofortyfouram.locale.intent.extra.BLURB>GPS Enabled</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.intangibleobject.securesettings.plugin</Str>
            <Str sr="arg2" ve="3">Secure Settings</Str>
        </Action>
        <Action sr="act7" ve="3">
            <code>8263</code>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <com.twofortyfouram.locale.intent.extra.BLURB>WhatsApp: Some One</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <intent>#Intent;launchFlags=0x14000000;component=com.whatsapp/.Conversation;S.jid=491111111111%40s.whatsapp.net;S.displayname=Some%20One;end</intent>
                    <intent-type>java.lang.String</intent-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.joaomgcd.autoshortcut</Str>
            <Str sr="arg2" ve="3">AutoShortcut</Str>
        </Action>
        <Action sr="act8" ve="3">
            <code>902</code>
            <Int sr="arg0" val="2"/>
            <Int sr="arg1" val="30"/>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
        </Action>
        <Action sr="act9" ve="3">
            <code>11820</code>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <com.intangibleobject.securesettings.plugin.extra.BLURB>Screen Dim
5 Seconds</com.intangibleobject.securesettings.plugin.extra.BLURB>
                    <com.intangibleobject.securesettings.plugin.extra.BLURB-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.BLURB-type>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING>wake_device</com.intangibleobject.securesettings.plugin.extra.SETTING>
                    <com.intangibleobject.securesettings.plugin.extra.SETTING-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.SETTING-type>
                    <com.intangibleobject.securesettings.plugin.extra.WAKE_LOCK_DURATION>5000</com.intangibleobject.securesettings.plugin.extra.WAKE_LOCK_DURATION>
                    <com.intangibleobject.securesettings.plugin.extra.WAKE_LOCK_DURATION-type>java.lang.Long</com.intangibleobject.securesettings.plugin.extra.WAKE_LOCK_DURATION-type>
                    <com.intangibleobject.securesettings.plugin.extra.WAKE_LOCK_TYPE>dim</com.intangibleobject.securesettings.plugin.extra.WAKE_LOCK_TYPE>
                    <com.intangibleobject.securesettings.plugin.extra.WAKE_LOCK_TYPE-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.WAKE_LOCK_TYPE-type>
                    <com.twofortyfouram.locale.intent.extra.BLURB>Screen Dim
5 Seconds</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.intangibleobject.securesettings.plugin</Str>
            <Str sr="arg2" ve="3">Secure Settings</Str>
        </Action>
    </Task>
</TaskerData>

Download this Task from here: http://db.tt/9vRmbhyb

That’s it in the above small example – you can read/write messages from/to WhatsApp app. I am using n7000-cm9.1-cwr6. Oh yea, and if you are having the Talkback auto enabled for Chrome browser, you need to turn Off the Web scripts to run.

Tasker is amazing, I have automated a lot of tasks using this tool. I will share a few none generic ones with you in my coming post here.

 

WhatsApp & Tasker for Android – Read & Write messages

标签:

原文地址:http://www.cnblogs.com/shangdawei/p/4514947.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!