20170330 用tasker来朗读微信新消息,骑单车党的解脱呀

自从搬了办公室以来,就常常骑车上班。但是微信一直的新消息令人心神不宁,总是想看看朋友在微信群里面说了什么。但是怕出意外,所以还是不敢看手机,但是心里痒痒的。怎么办。。

认识到安卓上有tasker这个软件,结合它的一个通知插件。完成了我神圣的朗读微信新消息功能,之后带着耳机可以开心踩着单车听着朋友在群里面的撕逼了。。不过,要是朋友们在群里用语音那我还是没辙了。

tasker导出的xml代码如下


<TaskerData sr="" dvi="1" tv="4.9u3m">
<Profile sr="prof6" ve="2">
<cdate>1489377673601</cdate>
<edate>1490889822853</edate>
<id>6</id>
<mid0>7</mid0>
<nme>微信消息朗读</nme>
<Event sr="con0" ve="2">
<code>461</code>
<pri>0</pri>
<App sr="arg0">
<appClass>com.tencent.mm.ui.LauncherUI</appClass>
<appPkg>com.tencent.mm</appPkg>
<label>微信</label>
</App>
<Str sr="arg1" ve="3"/>
<Str sr="arg2" ve="3"/>
<Str sr="arg3" ve="3"/>
<Str sr="arg4" ve="3"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="0"/>
</Event>
<State sr="con1" ve="2">
<code>30</code>
<pin>true</pin>
<Int sr="arg0" val="0"/>
</State>
</Profile>
<Task sr="task7">
<cdate>1489377693324</cdate>
<edate>1490888484111</edate>
<id>7</id>
<nme>读微信</nme>
<pri>100</pri>
<Action sr="act0" ve="7">
<code>565385068</code>
<Bundle sr="arg0">
<Vals sr="val">
<InterceptPersistent>0</InterceptPersistent>
<InterceptPersistent-type>java.lang.String</InterceptPersistent-type>
<QueryAnyMatch><null></QueryAnyMatch>
<QueryAnyMatch-type>java.lang.String</QueryAnyMatch-type>
<QueryAppName>微信</QueryAppName>
<QueryAppName-type>java.lang.String</QueryAppName-type>
<QueryAppPackage><null></QueryAppPackage>
<QueryAppPackage-type>java.lang.String</QueryAppPackage-type>
<QueryText><null></QueryText>
<QueryText-type>java.lang.String</QueryText-type>
<QueryTitle><null></QueryTitle>
<QueryTitle-type>java.lang.String</QueryTitle-type>
<com.twofortyfouram.locale.intent.extra.BLURB>Persistency Type: Both
App Name: 微信</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.RELEVANT_VARIABLES><StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%anapp()
01. App name
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%anstatus()
Cancelled Or Created
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%anbutton1action()
13. Action Button 1 (Use with AutoNotification Actions)
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%anbutton1icon()
13. Button 1 Icon
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4>%anbutton1text()
12. Button 1 Text
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5>%anbutton2action()
15. Action Button 2 (Use with AutoNotification Actions)
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES6>%anbutton2icon()
15. Button 2 Icon
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES6><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES7>%anbutton2text()
14. Button 2 Text
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES7><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES8>%anbutton3action()
17. Action Button 3 (Use with AutoNotification Actions)
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES8><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES9>%anbutton3icon()
17. Button 3 Icon
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES9><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES10>%anbutton3text()
16. Button 3 Text
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES10><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES11>%antouchaction()
22. Action On Touch Id (Use with AutoNotification Actions)
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES11><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES12>%andismissaction()
23. Action On Dismiss Id (Use with AutoNotification Actions)
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES12><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES13>%aninfotext()
10. Info Text
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES13><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES14>%anstatusbaricon()
Status Bar Icon
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES14><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES15>%anid()
Id
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES15><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES16>%anicon()
04. Icon
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES16><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES17>%anbigicon()
04. Icon When Expanded
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES17><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES18>%anpeople()
People
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES18><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES19>%anpicture()
05. Picture
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES19><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES20>%anprogress()
Progress
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES20><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES21>%anprogressindeterminate()
Progress Indeterminate
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES21><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES22>%anprogressmax()
Progress Max
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES22><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES23>%anpackage()
Package Name
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES23><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES24>%anshowchronometer()
Show Chronometer
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES24><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES25>%anwhen()
Show When
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES25><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES26>%anstatusbaricon()
07. Status Bar Icon
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES26><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES27>%ansubtext()
08. SubText
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES27><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES28>%ansummarytext()
09. Summary Text
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES28><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES29>%antext()
03. Text
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES29><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES30>%antextlines()
11. Text Lines
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES30><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES31>%antitle()
02. Title
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES31><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES32>%antitlebig()
02. Title When Expaded
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES32><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES33>%antag()
Tag
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES33><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES34>%anticker()
03. Ticker Text
</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES34></StringArray></net.dinglisch.android.tasker.RELEVANT_VARIABLES>
<net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>plugininstanceid plugintypeid InterceptPersistent QueryAppName QueryAppPackage QueryTitle QueryText QueryAnyMatch </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-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>
<plugininstanceid>b611c734-3f81-4159-b76a-d5b4ee56fa5a</plugininstanceid>
<plugininstanceid-type>java.lang.String</plugininstanceid-type>
<plugintypeid>com.joaomgcd.autonotification.intent.IntentNotificationQuery</plugintypeid>
<plugintypeid-type>java.lang.String</plugintypeid-type>
</Vals>
</Bundle>
<Str sr="arg1" ve="3">com.joaomgcd.autonotification</Str>
<Str sr="arg2" ve="3">com.joaomgcd.autonotification.activity.ActivityConfigNotificationQuery</Str>
<Int sr="arg3" val="5"/>
</Action>
<Action sr="act1" ve="7">
<code>129</code>
<Str sr="arg0" ve="3">var a = local("antext")
var a = a.replace(new RegExp("\[[0-9]{1,}条\]","g"),"");
var title = local("antitle");
var b = a.split(":");
if(title == b[0]){
  a = b[1];
}
var canSay = 0;
if(a.indexOf("[动画")==-1 && a.indexOf("[图片")==-1){
  canSay = 1;
}
setLocal("cansay",canSay);
setLocal("cxtext",a);</Str>
<Str sr="arg1" ve="3"/>
<Int sr="arg2" val="1"/>
<Int sr="arg3" val="45"/>
</Action>
<Action sr="act2" ve="7">
<code>37</code>
<ConditionList sr="if">
<Condition sr="c0" ve="3">
<lhs>%cansay</lhs>
<op>0</op>
<rhs>1</rhs>
</Condition>
</ConditionList>
</Action>
<Action sr="act3" ve="7">
<code>559</code>
<Str sr="arg0" ve="3">%antitle%cxtext</Str>
<Str sr="arg1" ve="3">default:default</Str>
<Int sr="arg2" val="3"/>
<Int sr="arg3" val="6"/>
<Int sr="arg4" val="6"/>
<Int sr="arg5" val="1"/>
<Int sr="arg6" val="0"/>
<Int sr="arg7" val="0"/>
</Action>
<Action sr="act4" ve="7">
<code>38</code>
</Action>
<Action sr="act5" ve="7">
<code>2046367074</code>
<Bundle sr="arg0">
<Vals sr="val">
<CancelAll>false</CancelAll>
<CancelAll-type>java.lang.Boolean</CancelAll-type>
<OtherId>%anid</OtherId>
<OtherId-type>java.lang.String</OtherId-type>
<OtherPackage>%anpackage</OtherPackage>
<OtherPackage-type>java.lang.String</OtherPackage-type>
<OtherTag>%antag</OtherTag>
<OtherTag-type>java.lang.String</OtherTag-type>
<com.twofortyfouram.locale.intent.extra.BLURB>Other Id: %anid
Package: %anpackage
Tag: %antag</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.extras.VARIABLE_REPLACE_KEYS>plugininstanceid plugintypeid notificaitionid OtherId OtherPackage OtherTag </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-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>
<notificaitionid></notificaitionid>
<notificaitionid-type>java.lang.String</notificaitionid-type>
<plugininstanceid>3d2ac3d9-0e35-4884-b7d5-d2455c4f91a3</plugininstanceid>
<plugininstanceid-type>java.lang.String</plugininstanceid-type>
<plugintypeid>com.joaomgcd.autonotification.intent.IntentCancelNotification</plugintypeid>
<plugintypeid-type>java.lang.String</plugintypeid-type>
</Vals>
</Bundle>
<Str sr="arg1" ve="3">com.joaomgcd.autonotification</Str>
<Str sr="arg2" ve="3">com.joaomgcd.autonotification.activity.ActivityConfigCancelNotification</Str>
<Int sr="arg3" val="0"/>
</Action>
</Task>
</TaskerData>

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页