为备用手机实现短信转发
手机卡比较多,需要的手机也多,看手机就比较麻烦了,所以实现短信转发可以减少手机使用量。
背景
很久很久以前,我买了第一台智能手机——至尊宝☎️,后来我买了人生中第一台红米手机——红米note增强版。不知什么时候,我有了两张手机卡,一张专门用来接收信息。为了不多带手机,我使用了绿芽短信转发🍃(当时应该root了)。虽然可以免费使用,但渐渐的就不符合我的要求了。后来接触到Tasker这款软件,这款软件能力强大。我用它实现短信转发,甚至还能进行一定的交互。后来,在xp框架时代,有一款插件Xposed edge pro,它也可以自动化,但我一般都是放在主力机上用。后来,我遇到一款更优秀的自动软件MacroDroid,我用它也实现了,但手机刷机忘记保存了。最近我又把它实现了。
无root方案
免root玩机,我了解比较少,我还是喜欢root后做手机的主人。因此简单提一下思路。
- 实现短信应用,将默认短信应用替换为你实现的短信
- 短信转发软件,比如绿芽。(不知现在还能不能免费使用)
- 读取短信内容应该用不到root,因此一些自动化软件也可以实现。
root方案
显然,我要使用MacroDroid这款软件。当然“免费”使用这款软件会有一丝丝不稳定,以及一小部分功能不能正常使用。
门槛
显然,你要让你的手机有root权限。当然如果没有,也可以试试,毕竟还有无障碍在那摆着。为了更好的使用MacroDroid,你还要达成以下要求:
- 保活:保证MacroDroid能后台运行,不被省电优化,能自动重启
- 权限给足
- 开机自启
- 无障碍不能掉(MacroDroid自身能保持,但有时侯呢)
第一步:下载
MacroDroid这个软件肯定要下载,然后我们初步计划是将短信转发到邮箱,因此还要下载一个邮件插件mailtask。虽然MacroDroid这个软件本身有发邮件的功能,但是你是“免费”使用的,所以用不了。
很明显,你没有看到下载链接。因此你需要自己去下载。
第二步:可去步骤:屏幕解锁
屏幕解锁这个功能主要是为了能够实现更多需要屏幕点击或读取的功能。虽然这类自动化软件或插件有屏幕解锁的功能,但一般不一定能成功执行,而且要么要求没有密码或者要求密码只能是文本密码,所以我们自行实现一个。为了实现屏幕解锁,我对屏幕解锁的过程进行分析:
- 屏幕点亮
- 上滑或其他进入到密码输入界面的步骤
- 密码输入:文本密码可以尝试使用
input
命令,图案密码可以使用swipe
命令或者使用手势
以我的手机为例,我没有设置密码。我们对我的手机解锁屏幕的流程进行分析:
graph TD a[start]-->b("屏幕点亮")-->c{"是否锁屏"}--yes-->d("解锁屏幕")-->e c--no-->e[end]
对屏幕是否已经亮屏,我们不用考虑。因为我们最终都是要亮屏的,因此第一步是点亮屏幕。第二步是判断是否锁屏。第三步是解锁屏幕。
屏幕开
是自带的,用来点亮屏幕。等待是因为我后面借助的模拟滑动进行解锁的,当然你可以借助auto
类插件来解锁无密码锁屏,自带的不是很好用。条件判断是因为有时候没有锁屏。设备锁定
条件是自带的。其中的动作块是我单独抽取出来复用的,这个上滑半屏
是动作块的名称,内部是用的界面交互-手势【250毫秒:540,1920->540,1020】,你自己设置就行了,坐标可以打开手机设置里的开发者选项的指针位置获得,当然你也可以使用shell命令swipe
。
第三步:可去步骤:字符串匹配
我计划的功能中有对短信内容的判断,所以要有这个功能。关于字符串匹配的算法有许多,比如著名的KMP算法,也可以使用正则表达式。我比较喜欢正则表达式。
这个比较简单就没有流程图了。当然,有经验的人看到这张图片时,会脑淤血,因为看起来像是脱裤子放屁。其实是这样的,它没有单个动作是用来判断并赋值的。这个源串
是用来被匹配的,长度比较长。子串
相当于关键字,是用来匹配的。可以看到,图中字串
的默认值有竖线,这是用来分割的,方便多匹配。条件是用的变量-包括,启用正则表达式匹配和不区分大小写。记得将结果返回。
第四步:可去步骤:一维数组包含
我设想的功能里需对短信的发送者号码进行判断。我的电话号码不是有序的,所以采用遍历所有的方式。
如果用其他循环涉及次数或条件判断,不太方便。使用迭代比较方便,不过不清楚对数组的修改会不会出问题。不管,我们现在只是读。同样,用关键字
和迭代值
进行比较,然后根据分支设置输出结果。
第五步:可去步骤:附加信息
我的手机我要尽可能了解,所以要将手机的信息进行更新。
这是一个宏,名称是定时更新。触发器使用固定时间间隔,间隔时间的2小时9分。动作目前就一个,是对一个全局变量全局_附加内容
进行设置。内容如下:是个html表格
1 | <table border="1"> |
第六步:必要步骤:邮件发送
MacroDroid本身就有邮件发送功能,一个是gmail,另一个是SMTP。但是,我们是免费
使用的,所以要借助插件MailTask。安卓低版本还可以使用SendsilentMail。
我们使用MailTask,当然,下载、权限设置和保活交给你。
要进行邮件发送,需要一个邮箱,我使用QQ邮箱。进入网页版QQ邮箱-设置-账号-开启POP3/IMAP/SMTP/-获取授权码,然后在Mailtask里配置SMTP。
其实到这里,简单的邮件转发就已经可以轻轻松松实现了。
第七步:功能设计
单单一个短信转发,对我来说是不够的。
- 短信转发
- 重要转发
- 转发到邮件
- (暂未实现)转发到qq、微信、钉钉等社交软件
- (不打算,有点多花钱)转发到短信
- 不重要转发
- 转发到邮件
- (暂未实现)转发到qq、微信、钉钉等社交软件
- (不打算,有点多花钱)转发到短信
- 重要转发
- 短信指令
- 中文指令
- 非中文指令:默认shell
- 短信已读
第八步:流程设计
graph LR start(start) --> a{是否是短信命令} --yes-->cc{号码判断} --可执行--> c[指令取出] --> d[指令识别] --> e[指令执行]-->eed[短信已读]-->en(end) cc --不可执行-->eed a --no-->f{短信重要性判断} --yes-->g[邮件发送]-->eed f --no-->h{短信数量} --=10-->gg[邮件发送]-->ii[相关变量重置]-->eed h --!=10--> i[短信追加] --> j[计数增加]-->h
第九步:变量设计
本来想一边讲搭建一边讲需要的变量,但我害怕你搞混。
-
全局变量设计
变量名 类型 默认值or建议值 说明 全局_附加内容 字符串 无 每次发送时附加的内容,值为第五步的html代码 全局_可执行号码 字符串 无 可以执行短信命令的号码集合 全局_重要号码 字符串 无 重要短信号码集合 全局_重要号码关键字 字符串 验证码|校验码|授权码|密码|账单|余额|随机码|取件码|出库码|取货码|提货码|代码|激活码|姓名|姓先生|身份证号|考生|考试|电力|退款|还款|菜鸟驿站|取件|快递 当短信内容里有这些关键字时,该短信为重要短信 全局_主人号码 字符串 无 主人的号码,未使用留以后扩展 注意,全局变量尽量不修改。你可以将短信转发宏看作是一个个进程,而这些全局变量相当于临界资源。当然你要修改也可以,不过要使得每次宏运行修改变量的概率非常低。
-
局部变量设计
变量名 类型 默认值 是否保持不变 说明 不重要短信串 字符串 无 否 不重要短信的集合 不重要短信计数 整数 0 否 对不重要短信进行计数 短信分割线 字符串 <br/><hr/><br/>
是 不重要短信追加时添加分割线 短信内容是否包含关键字 布尔 False 否 判断短信重要性的一部分 发送者号码是否重要 布尔 False 否 判断短信重要性的一部分 附加发送者短信 字符串 无 否 给短信添加发送者信息 是否是可执行号码 布尔 False 否 判断指令短信的一部分 是否为指令短信 布尔 False 否 判断指令短信的一部分 是否为中文指令 布尔 False 否 用来指令短信分类 输入指令头 字符串 execm
是 指令有输入参数标记 无输入指令头 字符串 execs
是 指令没有输入参数标记 邮件接收者 字符串 邮箱 是 接收转发的邮箱 指令标记 字符串 exec
是 有该标记的短信为指令短信 指令分隔符 字符串 \
是 用分割指令和参数 指令条数组 数组 无 否 指令短信中的每行指令 指令条 数组 无 否 每行指令用分割符分割后得到的数组 中文指令级 数组 无 是 你有说明中文指令就追加什么 这个保持不变的意思是宏不能修改它,只有你可以修改,或者是发送命令让它修改。每个变量有什么用,什么类型都列清楚了,你可以仔细观看。
第十步:成品:看图
附加发送者短信变量设置为:发送者名称:{sms_name}<br/>发送者号码:{sms_number}<br/>时间:{year}-{month_digit}-{dayofmonth} {hour}:{minute}:{second}<br/>内容:{sms_message}
,文件没写时间,自己添加。重要短信邮件转发内容设置为:{lv=附加发送者短信}<br/><br/>{v=全局_附加内容}
,非重要短信邮件转发内容设置为:{lv=不重要短信串}{lv=短信分割线}({lv=不重要短信计数}){lv=附加发送者短信}
。
短信已读功能在各个手机表现一样,看自己手机情况设置。这里的原理是短信到来时显示通知,通知有标记已读的按钮,可以点击实现已读。但是MacroDroid似乎读不到通知按钮的文字。
实现短信已读的最好方式就是修改短信数据库,用sqllite就行。但是我手机版本高,修改不成功。
我这里的屏幕解锁涉及屏幕分辨率,大家根据自己的手机自己调整。
导出
我用的宏导出来了,但是有可能需要补充动作块,补充全局变量,修改部分值。复制后粘贴到文件里,命名后缀.macro
1 | { "disabledTimestamp": 0, "exportedActionBlocks": [ { "isInputExpanded": true, "isLocalExpanded": false, "isOutputExpanded": true, "isTestMode": false, "disabledTimestamp": 0, "exportedActionBlocks": [], "forceEvenIfNotEnabledTimestamp": 0, "isActionBlock": true, "isBeingImported": false, "isClonedInstance": false, "isExtra": false, "isFavourite": false, "lastEditedTimestamp": 1704941962516, "localVariables": [ { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "子串", "m_stringValue": "验证码|授权码|code|验证码", "m_type": 2, "supportsInput": true, "supportsOutput": false }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "源串", "m_stringValue": "code25验证码35授权码88", "m_type": 2, "supportsInput": true, "supportsOutput": false }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "匹配结果", "m_stringValue": "", "m_type": 0, "supportsInput": false, "supportsOutput": true } ], "m_GUID": -5536193167288693000, "m_actionList": [ { "childrenCollapsed": false, "dontLogIfConditionIsFalse": false, "m_SIGUID": -9046249293458778000, "m_classType": "IfConditionAction", "m_constraintList": [ { "checkCase": false, "dictionaryKeys": { "keys": [] }, "dictionaryType": 2, "enableRegex": true, "m_booleanValue": false, "m_doubleValue": 0, "m_intCompareVariable": false, "m_intGreaterThan": false, "m_intLessThan": false, "m_intNotEqual": false, "m_intValue": 0, "m_stringComparisonType": 1, "m_stringEqual": true, "m_stringValue": "{lv=子串}", "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "源串", "m_stringValue": "code25验证码35授权码88", "m_type": 2, "supportsInput": true, "supportsOutput": false }, "m_SIGUID": -8840312658536790000, "m_classType": "MacroDroidVariableConstraint", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ], "m_isDisabled": false, "m_isOrCondition": false }, { "booleanDictionaryKeys": { "keys": [] }, "createVar": true, "dictionaryKeys": [], "dictionaryOrArrayType": -1, "m_booleanInvert": false, "m_darkMode": -1, "m_doubleRandomMax": 0, "m_doubleRandomMin": 0, "m_falseLabel": "False", "m_intExpression": false, "m_intRandom": false, "m_intRandomMax": 0, "m_intRandomMin": 0, "m_intValueDecrement": false, "m_intValueIncrement": false, "m_newBooleanValue": true, "m_newDoubleValue": 0, "m_newIntValue": 0, "m_trueLabel": "True", "m_userPrompt": false, "m_userPromptEmptyAtStart": false, "m_userPromptPassword": false, "m_userPromptShowCancel": true, "m_userPromptStopAfterCancel": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "匹配结果", "m_stringValue": "", "m_type": 0, "supportsInput": false, "supportsOutput": true }, "m_SIGUID": -7530913373200241000, "m_classType": "SetVariableAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "cancelPrevious": false, "m_backgroundColor": -14606047, "m_displayIcon": false, "m_duration": 0, "m_horizontalPosition": 0, "m_imageName": "launcher_no_border", "m_imagePackageName": "com.arlosoft.macrodroid", "m_imageResourceName": "launcher_no_border", "m_messageText": "匹配", "m_position": 0, "m_textColor": -1, "m_tintIcon": false, "maintainSpaces": false, "useTextOnly": true, "m_SIGUID": -7300299722515066000, "m_classType": "ToastAction", "m_constraintList": [], "m_isDisabled": true, "m_isOrCondition": false }, { "dontLogIfConditionIsFalse": false, "m_SIGUID": -8956888298027064000, "m_classType": "ElseAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "cancelPrevious": true, "m_backgroundColor": -14606047, "m_displayIcon": false, "m_duration": 0, "m_horizontalPosition": 0, "m_imageName": "launcher_no_border", "m_imagePackageName": "com.arlosoft.macrodroid", "m_imageResourceName": "launcher_no_border", "m_messageText": "不匹配", "m_position": 0, "m_textColor": -1, "m_tintIcon": false, "maintainSpaces": false, "useTextOnly": true, "m_SIGUID": -7862503410463948000, "m_classType": "ToastAction", "m_constraintList": [], "m_isDisabled": true, "m_isOrCondition": false }, { "booleanDictionaryKeys": { "keys": [] }, "createVar": true, "dictionaryKeys": [], "dictionaryOrArrayType": -1, "m_booleanInvert": false, "m_darkMode": -1, "m_doubleRandomMax": 0, "m_doubleRandomMin": 0, "m_falseLabel": "False", "m_intExpression": false, "m_intRandom": false, "m_intRandomMax": 0, "m_intRandomMin": 0, "m_intValueDecrement": false, "m_intValueIncrement": false, "m_newBooleanValue": false, "m_newDoubleValue": 0, "m_newIntValue": 0, "m_trueLabel": "True", "m_userPrompt": false, "m_userPromptEmptyAtStart": false, "m_userPromptPassword": false, "m_userPromptShowCancel": true, "m_userPromptStopAfterCancel": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "匹配结果", "m_stringValue": "", "m_type": 0, "supportsInput": false, "supportsOutput": true }, "m_SIGUID": -9017735428511865000, "m_classType": "SetVariableAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "m_SIGUID": -5233551833807687000, "m_classType": "EndIfAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ], "m_category": "未分类", "m_constraintList": [], "m_description": "", "m_descriptionOpen": false, "m_enabled": false, "m_excludeLog": false, "m_headingColor": 0, "m_isOrCondition": false, "m_name": "字符串匹配", "m_triggerList": [] }, { "isInputExpanded": true, "isLocalExpanded": false, "isOutputExpanded": true, "isTestMode": false, "disabledTimestamp": 0, "exportedActionBlocks": [], "forceEvenIfNotEnabledTimestamp": 0, "isActionBlock": true, "isBeingImported": false, "isClonedInstance": false, "isExtra": false, "isFavourite": false, "lastEditedTimestamp": 1704805128353, "localVariables": [ { "dictionary": { "entries": [ { "key": "0", "variable": { "textValue": "123", "variableType": 2, "parentKeys": [ "0" ], "type": "StringValue" }, "variableType": 11, "type": "DictionaryEntry" }, { "key": "1", "variable": { "textValue": "abc", "variableType": 2, "parentKeys": [ "1" ], "type": "StringValue" }, "variableType": 11, "type": "DictionaryEntry" }, { "key": "2", "variable": { "textValue": "1a2v", "variableType": 2, "parentKeys": [ "2" ], "type": "StringValue" }, "variableType": 11, "type": "DictionaryEntry" } ], "isArray": true, "variableType": 5, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "源数组", "m_stringValue": "", "m_type": 5, "supportsInput": true, "supportsOutput": false }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "关键字", "m_stringValue": "12", "m_type": 2, "supportsInput": true, "supportsOutput": false }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "是否包含关键字", "m_stringValue": "", "m_type": 0, "supportsInput": false, "supportsOutput": true } ], "m_GUID": -7257274351441456000, "m_actionList": [ { "isArray": true, "variableName": "源数组", "m_fixedOptionCount": 0, "m_option": 0, "childrenCollapsed": false, "dontLogIfConditionIsFalse": false, "m_SIGUID": -8848855769057710000, "m_classType": "IterateDictionaryAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "childrenCollapsed": false, "dontLogIfConditionIsFalse": false, "m_SIGUID": -8451034540660343000, "m_classType": "IfConditionAction", "m_constraintList": [ { "comparisonType": 0, "enableRegex": false, "ignoreCase": true, "option": 0, "type": 2, "value1": "{iterator_value}", "value2": "{lv=关键字}", "m_SIGUID": -4658158072136790000, "m_classType": "CompareValueConstraint", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ], "m_isDisabled": false, "m_isOrCondition": false }, { "booleanDictionaryKeys": { "keys": [] }, "createVar": true, "dictionaryKeys": [], "dictionaryOrArrayType": -1, "m_booleanInvert": false, "m_darkMode": -1, "m_doubleRandomMax": 0, "m_doubleRandomMin": 0, "m_falseLabel": "False", "m_intExpression": false, "m_intRandom": false, "m_intRandomMax": 0, "m_intRandomMin": 0, "m_intValueDecrement": false, "m_intValueIncrement": false, "m_newBooleanValue": true, "m_newDoubleValue": 0, "m_newIntValue": 0, "m_trueLabel": "True", "m_userPrompt": false, "m_userPromptEmptyAtStart": false, "m_userPromptPassword": false, "m_userPromptShowCancel": true, "m_userPromptStopAfterCancel": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "是否包含关键字", "m_stringValue": "", "m_type": 0, "supportsInput": false, "supportsOutput": true }, "m_SIGUID": -8605176906399983000, "m_classType": "SetVariableAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "m_SIGUID": -8560671674146215000, "m_classType": "EndIfAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "m_SIGUID": -5820083889709677000, "m_classType": "EndLoopAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ], "m_category": "未分类", "m_constraintList": [], "m_description": "", "m_descriptionOpen": false, "m_enabled": false, "m_excludeLog": false, "m_headingColor": 0, "m_isOrCondition": false, "m_name": "一维数组包含", "m_triggerList": [] }, { "isInputExpanded": true, "isLocalExpanded": false, "isOutputExpanded": true, "isTestMode": false, "disabledTimestamp": 0, "exportedActionBlocks": [], "forceEvenIfNotEnabledTimestamp": 0, "isActionBlock": true, "isBeingImported": false, "isClonedInstance": false, "isExtra": false, "isFavourite": false, "lastEditedTimestamp": 1704797120481, "localVariables": [ { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "给谁", "m_stringValue": "[email protected]", "m_type": 2, "supportsInput": true, "supportsOutput": false }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "抄送", "m_stringValue": "", "m_type": 2, "supportsInput": true, "supportsOutput": false }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "隐密抄送", "m_stringValue": "", "m_type": 2, "supportsInput": true, "supportsOutput": false }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "主题", "m_stringValue": "中文测试", "m_type": 2, "supportsInput": true, "supportsOutput": false }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "内容", "m_stringValue": "test,<br>,23 {lv=附件}", "m_type": 2, "supportsInput": true, "supportsOutput": false }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "附件", "m_stringValue": "", "m_type": 2, "supportsInput": true, "supportsOutput": false } ], "m_GUID": -8573632407905576000, "m_actionList": [ { "arrayHandlingOption": 0, "blockActions": false, "m_plugin": { "mActivityClassName": "com.balda.mailtask.ui.FireSendMail", "mConfiguration": { "mAlternatives": [], "mIsBackwardsCompatibilityEnabled": false, "mIsBlacklisted": false, "mIsBuggy": false, "mIsDisruptsConnectivity": false, "mIsDrainsBattery": false, "mIsRequiresConnectivity": false }, "mPackageName": "com.balda.mailtask", "mReceiverClassName": "com.balda.mailtask.receivers.FireReceiver", "mRegistryName": "com.balda.mailtask:com.balda.mailtask.ui.FireSendMail", "mType": "SETTING", "mVersionCode": 88 }, "m_pluginInstanceData": { "mBlurb": "Send email from [email protected] to %给谁", "mRegistryName": "com.balda.mailtask:com.balda.mailtask.ui.FireSendMail", "mSerializedBundle": [ -84, -19, 0, 5, 119, 12, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 31, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 65, 67, 67, 79, 85, 78, 84, 116, 0, 17, 51, 51, 55, 49, 53, 51, 54, 51, 54, 51, 64, 113, 113, 46, 99, 111, 109, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 27, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 66, 67, 67, 116, 0, 13, 37, -23, -102, -112, -27, -81, -122, -26, -118, -124, -23, -128, -127, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 26, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 67, 67, 116, 0, 7, 37, -26, -118, -124, -23, -128, -127, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 33, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 72, 84, 77, 76, 95, 84, 69, 88, 84, 115, 114, 0, 17, 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 66, 111, 111, 108, 101, 97, 110, -51, 32, 114, -128, -43, -100, -6, -18, 2, 0, 1, 90, 0, 5, 118, 97, 108, 117, 101, 120, 112, 1, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 28, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 83, 77, 84, 80, 116, 0, 8, 51, 51, 113, 113, 109, 97, 105, 108, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 28, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 84, 69, 88, 84, 116, 0, 7, 37, -27, -122, -123, -27, -82, -71, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 36, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 116, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 68, 69, 83, 84, 73, 78, 65, 84, 73, 79, 78, 116, 0, 7, 37, -25, -69, -103, -24, -80, -127, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 41, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 116, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 70, 73, 76, 69, 95, 65, 84, 84, 65, 67, 72, 77, 69, 78, 84, 83, 116, 0, 82, 99, 111, 110, 116, 101, 110, 116, 58, 47, 47, 99, 111, 109, 46, 97, 110, 100, 114, 111, 105, 100, 46, 101, 120, 116, 101, 114, 110, 97, 108, 115, 116, 111, 114, 97, 103, 101, 46, 100, 111, 99, 117, 109, 101, 110, 116, 115, 47, 100, 111, 99, 117, 109, 101, 110, 116, 47, 112, 114, 105, 109, 97, 114, 121, 37, 51, 65, 101, 109, 97, 105, 108, 37, 50, 70, 37, -23, -103, -124, -28, -69, -74, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 38, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 116, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 72, 73, 71, 72, 95, 80, 82, 73, 79, 82, 73, 84, 89, 113, 0, 126, 0, 8, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 41, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 116, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 73, 78, 84, 95, 86, 69, 82, 83, 73, 79, 78, 95, 67, 79, 68, 69, 115, 114, 0, 17, 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 73, 110, 116, 101, 103, 101, 114, 18, -30, -96, -92, -9, -127, -121, 56, 2, 0, 1, 73, 0, 5, 118, 97, 108, 117, 101, 120, 114, 0, 16, 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 78, 117, 109, 98, 101, 114, -122, -84, -107, 29, 11, -108, -32, -117, 2, 0, 0, 120, 112, 0, 0, 0, 88, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 34, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 116, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 79, 80, 69, 82, 65, 84, 73, 79, 78, 115, 113, 0, 126, 0, 19, 0, 0, 0, 0, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 42, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 116, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 82, 69, 65, 68, 95, 67, 79, 78, 70, 73, 82, 77, 65, 84, 73, 79, 78, 115, 113, 0, 126, 0, 7, 0, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 32, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 116, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 83, 85, 66, 74, 69, 67, 84, 116, 0, 7, 37, -28, -72, -69, -23, -94, -104, 119, 8, 0, 0, 0, 1, 0, 0, 0, 0, 116, 0, 57, 110, 101, 116, 46, 100, 105, 110, 103, 108, 105, 115, 99, 104, 46, 97, 110, 100, 114, 111, 105, 100, 46, 116, 97, 115, 107, 101, 114, 46, 101, 120, 116, 114, 97, 115, 46, 86, 65, 82, 73, 65, 66, 76, 69, 95, 82, 69, 80, 76, 65, 67, 69, 95, 75, 69, 89, 83, 116, 1, 0, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 116, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 68, 69, 83, 84, 73, 78, 65, 84, 73, 79, 78, 32, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 65, 67, 67, 79, 85, 78, 84, 32, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 116, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 83, 85, 66, 74, 69, 67, 84, 32, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 84, 69, 88, 84, 32, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 116, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 70, 73, 76, 69, 95, 65, 84, 84, 65, 67, 72, 77, 69, 78, 84, 83, 32, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 67, 67, 32, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 66, 67, 67, 32, 99, 111, 109, 46, 98, 97, 108, 100, 97, 46, 109, 97, 105, 108, 97, 115, 107, 46, 101, 120, 116, 114, 97, 46, 83, 77, 84, 80, 119, 4, 0, 0, 0, 0 ], "mType": "SETTING" }, "m_variableMap": {}, "m_SIGUID": -5190620161472342000, "m_classType": "LocalePluginAction", "m_comment": "html", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ], "m_category": "未分类", "m_constraintList": [], "m_description": "", "m_descriptionOpen": false, "m_enabled": false, "m_excludeLog": false, "m_headingColor": 0, "m_isOrCondition": false, "m_name": "发送邮件mailtask", "m_triggerList": [] } ], "forceEvenIfNotEnabledTimestamp": 0, "isActionBlock": false, "isBeingImported": false, "isClonedInstance": false, "isExtra": false, "isFavourite": false, "lastEditedTimestamp": 1705172830852, "localVariables": [ { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "邮件接收者", "m_stringValue": "[email protected]", "m_type": 2, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "附加发送者短信", "m_stringValue": "", "m_type": 2, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "发送者号码是否重要", "m_stringValue": "", "m_type": 0, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "短信内容是否包含关键字", "m_stringValue": "", "m_type": 0, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "指令标记", "m_stringValue": "exec", "m_type": 2, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "指令分割符", "m_stringValue": "\\", "m_type": 2, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "是否为指令短信", "m_stringValue": "", "m_type": 0, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "不重要短信计数", "m_stringValue": "", "m_type": 1, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "不重要短信串", "m_stringValue": "", "m_type": 2, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "短信分割线", "m_stringValue": "<br><hr><br>", "m_type": 2, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "无输入指令头", "m_stringValue": "execs", "m_type": 2, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "输入指令头", "m_stringValue": "execm", "m_type": 2, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": true, "variableType": 5, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "指令条数组", "m_stringValue": "", "m_type": 5, "supportsInput": false, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": true, "variableType": 5, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "指令条", "m_stringValue": "", "m_type": 5, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": true, "variableType": 5, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "中文指令集", "m_stringValue": "", "m_type": 5, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "是否为中文指令", "m_stringValue": "", "m_type": 0, "supportsInput": true, "supportsOutput": true }, { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "是否是可执行号码", "m_stringValue": "", "m_type": 0, "supportsInput": true, "supportsOutput": true } ], "m_GUID": -5329546518234248000, "m_actionList": [ { "actionBlockId": -5536193167288693000, "actionBlockName": "字符串匹配", "continueActionsWithoutWaiting": false, "inputDictionaryMap": {}, "inputVarsMap": { "子串": "{lv=指令标记}", "源串": "{sms_message}" }, "outputDictionaryMap": {}, "outputVarsMap": { "匹配结果": "是否为指令短信" }, "m_SIGUID": -4833910477727838000, "m_classType": "ActionBlockAction", "m_comment": "判断是否为指令短信", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "actionBlockId": -5536193167288693000, "actionBlockName": "字符串匹配", "continueActionsWithoutWaiting": false, "inputDictionaryMap": {}, "inputVarsMap": { "子串": "{sms_number}", "源串": "{v=全局_可执行号码}" }, "outputDictionaryMap": {}, "outputVarsMap": { "匹配结果": "是否是可执行号码" }, "m_SIGUID": -7328360522928207000, "m_classType": "ActionBlockAction", "m_comment": "短信号码是否可执行", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "childrenCollapsed": false, "dontLogIfConditionIsFalse": false, "m_SIGUID": -6089816614380744000, "m_classType": "IfConditionAction", "m_comment": "指令短信代码段,格式:execs或m\\功能\\输入", "m_constraintList": [ { "m_childConstraints": [ { "checkCase": false, "dictionaryKeys": { "keys": [] }, "dictionaryType": 0, "enableRegex": false, "m_booleanValue": true, "m_doubleValue": 0, "m_intCompareVariable": false, "m_intGreaterThan": false, "m_intLessThan": false, "m_intNotEqual": false, "m_intValue": 0, "m_otherValueToCompare": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 4, "m_intValue": 4, "m_name": "不重要短信计数", "m_stringValue": "", "m_type": 1, "supportsInput": true, "supportsOutput": true }, "m_stringComparisonType": 0, "m_stringEqual": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "是否为指令短信", "m_stringValue": "", "m_type": 0, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -5079423697589202000, "m_classType": "MacroDroidVariableConstraint", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "checkCase": false, "dictionaryKeys": { "keys": [] }, "dictionaryType": 0, "enableRegex": false, "m_booleanValue": true, "m_doubleValue": 0, "m_intCompareVariable": false, "m_intGreaterThan": false, "m_intLessThan": false, "m_intNotEqual": false, "m_intValue": 0, "m_otherValueToCompare": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 4, "m_intValue": 4, "m_name": "不重要短信计数", "m_stringValue": "", "m_type": 1, "supportsInput": true, "supportsOutput": true }, "m_stringComparisonType": 0, "m_stringEqual": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "是否是可执行号码", "m_stringValue": "", "m_type": 0, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -7230994532863608000, "m_classType": "MacroDroidVariableConstraint", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ], "m_option": 0, "m_SIGUID": -7026845108833014000, "m_classType": "LogicConstraint", "m_isDisabled": false, "m_isOrCondition": false } ], "m_isDisabled": false, "m_isOrCondition": false }, { "m_option": 6, "m_text": "{sms_message}", "m_textManipulation": { "type": "SplitManipulation", "params": [ "\\n", "0" ] }, "m_variable": { "dictionary": { "entries": [], "isArray": true, "variableType": 5, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "指令条数组", "m_stringValue": "", "m_type": 5, "supportsInput": false, "supportsOutput": true }, "m_SIGUID": -7235570925026366000, "m_classType": "TextManipulationAction", "m_comment": "拆分为指令条数组", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "isArray": true, "variableName": "指令条数组", "m_fixedOptionCount": 0, "m_option": 0, "childrenCollapsed": false, "dontLogIfConditionIsFalse": false, "m_SIGUID": -8073279560617630000, "m_classType": "IterateDictionaryAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "m_option": 6, "m_text": "{iterator_value}", "m_textManipulation": { "type": "SplitManipulation", "params": [ "{lv=指令分割符}", "0" ] }, "m_variable": { "dictionary": { "entries": [], "isArray": true, "variableType": 5, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "指令条", "m_stringValue": "", "m_type": 5, "supportsInput": true, "supportsOutput": true }, "varDictionaryKeys": { "keys": [] }, "m_SIGUID": -4773984684786054000, "m_classType": "TextManipulationAction", "m_comment": "指令条拆分为数组", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "childrenCollapsed": false, "dontLogIfConditionIsFalse": false, "m_SIGUID": -7930097662074029000, "m_classType": "IfConditionAction", "m_constraintList": [ { "checkCase": false, "dictionaryKeys": { "keys": [ "0" ] }, "dictionaryType": 2, "enableRegex": false, "m_booleanValue": false, "m_doubleValue": 0, "m_intCompareVariable": false, "m_intGreaterThan": false, "m_intLessThan": false, "m_intNotEqual": false, "m_intValue": 0, "m_otherValueToCompare": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "不重要短信计数", "m_stringValue": "", "m_type": 1, "supportsInput": true, "supportsOutput": true }, "m_stringComparisonType": 1, "m_stringEqual": true, "m_stringValue": "{lv=无输入指令头}", "m_variable": { "dictionary": { "entries": [], "isArray": true, "variableType": 5, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "指令条", "m_stringValue": "", "m_type": 5, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -5798312705984921000, "m_classType": "MacroDroidVariableConstraint", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ], "m_isDisabled": false, "m_isOrCondition": false }, { "actionBlockId": -7257274351441456000, "actionBlockName": "一维数组包含", "continueActionsWithoutWaiting": false, "inputDictionaryMap": { "源数组": { "keys": [] } }, "inputVarsMap": { "源数组": "中文指令集", "关键字": "{lv=指令条[1]}" }, "outputDictionaryMap": {}, "outputVarsMap": { "是否包含关键字": "是否为中文指令" }, "m_SIGUID": -6045175892137476000, "m_classType": "ActionBlockAction", "m_comment": "判断是否为中文指令", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "childrenCollapsed": false, "dontLogIfConditionIsFalse": false, "m_SIGUID": -6368351491393155000, "m_classType": "IfConditionAction", "m_comment": "中文指令", "m_constraintList": [ { "checkCase": false, "dictionaryKeys": { "keys": [] }, "dictionaryType": 0, "enableRegex": false, "m_booleanValue": false, "m_doubleValue": 0, "m_intCompareVariable": false, "m_intGreaterThan": false, "m_intLessThan": false, "m_intNotEqual": false, "m_intValue": 0, "m_otherValueToCompare": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "不重要短信计数", "m_stringValue": "", "m_type": 1, "supportsInput": true, "supportsOutput": true }, "m_stringComparisonType": 0, "m_stringEqual": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "是否为中文指令", "m_stringValue": "", "m_type": 0, "supportsInput": true, "supportsOutput": true }, "workingOtherVarToCompare": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "不重要短信计数", "m_stringValue": "", "m_type": 1, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -7441095254249290000, "m_classType": "MacroDroidVariableConstraint", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ], "m_isDisabled": false, "m_isOrCondition": false }, { "state": 0, "m_SIGUID": -4614662675234850000, "m_classType": "EmptyAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "dontLogIfConditionIsFalse": false, "m_SIGUID": -7822687180267180000, "m_classType": "ElseAction", "m_comment": "非中文指令,adb shell", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "blockNextAction": true, "m_nonRoot": false, "m_script": "{lv=指令条[1]}", "timeoutSeconds": 600, "useHelper": false, "m_SIGUID": -8825660648189414000, "m_classType": "ShellScriptAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "m_SIGUID": -7008432966259587000, "m_classType": "EndIfAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "dontLogIfConditionIsFalse": false, "m_SIGUID": -6655597950023365000, "m_classType": "ElseIfConditionAction", "m_constraintList": [ { "checkCase": false, "dictionaryKeys": { "keys": [ "0" ] }, "dictionaryType": 2, "enableRegex": false, "m_booleanValue": false, "m_doubleValue": 0, "m_intCompareVariable": false, "m_intGreaterThan": false, "m_intLessThan": false, "m_intNotEqual": false, "m_intValue": 0, "m_otherValueToCompare": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "不重要短信计数", "m_stringValue": "", "m_type": 1, "supportsInput": true, "supportsOutput": true }, "m_stringComparisonType": 1, "m_stringEqual": true, "m_stringValue": "{lv=输入指令头}", "m_variable": { "dictionary": { "entries": [], "isArray": true, "variableType": 5, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "指令条", "m_stringValue": "", "m_type": 5, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -6217879482775378000, "m_classType": "MacroDroidVariableConstraint", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ], "m_isDisabled": false, "m_isOrCondition": false }, { "state": 0, "m_SIGUID": -8660065844006563000, "m_classType": "EmptyAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "m_SIGUID": -8174128169615601000, "m_classType": "EndIfAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "m_SIGUID": -6953300528749259000, "m_classType": "EndLoopAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "actionBlockId": -8573632407905576000, "actionBlockName": "发送邮件mailtask", "continueActionsWithoutWaiting": false, "inputDictionaryMap": {}, "inputVarsMap": { "给谁": "{lv=邮件接收者}", "主题": "命令短信转发", "内容": "{sms_message}" }, "outputDictionaryMap": {}, "outputVarsMap": {}, "m_SIGUID": -6906191873418650000, "m_classType": "ActionBlockAction", "m_comment": "表明收到指令并执行了宏", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "dontLogIfConditionIsFalse": false, "m_SIGUID": -7573581641088925000, "m_classType": "ElseAction", "m_comment": "非指令短信代码段", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "booleanDictionaryKeys": { "keys": [] }, "createVar": true, "dictionaryKeys": [], "dictionaryOrArrayType": -1, "m_booleanInvert": false, "m_darkMode": -1, "m_doubleRandomMax": 0, "m_doubleRandomMin": 0, "m_falseLabel": "False", "m_intExpression": false, "m_intRandom": false, "m_intRandomMax": 0, "m_intRandomMin": 0, "m_intValueDecrement": false, "m_intValueIncrement": false, "m_newBooleanValue": false, "m_newDoubleValue": 0, "m_newIntValue": 0, "m_newStringValue": "发送者名称:{sms_name}<br>发送者号码:{sms_number}<br>内容:{sms_message}", "m_trueLabel": "True", "m_userPrompt": false, "m_userPromptEmptyAtStart": false, "m_userPromptPassword": false, "m_userPromptShowCancel": true, "m_userPromptStopAfterCancel": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "附加发送者短信", "m_stringValue": "", "m_type": 2, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -7700970024336643000, "m_classType": "SetVariableAction", "m_comment": "给短信添加发送者信息", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "actionBlockId": -5536193167288693000, "actionBlockName": "字符串匹配", "continueActionsWithoutWaiting": false, "inputDictionaryMap": {}, "inputVarsMap": { "子串": "{sms_number}", "源串": "{v=全局_重要号码}" }, "outputDictionaryMap": {}, "outputVarsMap": { "匹配结果": "发送者号码是否重要" }, "m_SIGUID": -9022646809174659000, "m_classType": "ActionBlockAction", "m_comment": "判断发送者号码是否重要", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "actionBlockId": -5536193167288693000, "actionBlockName": "字符串匹配", "continueActionsWithoutWaiting": false, "inputDictionaryMap": {}, "inputVarsMap": { "子串": "{v=全局_重要内容关键字}", "源串": "{sms_message}" }, "outputDictionaryMap": {}, "outputVarsMap": { "匹配结果": "短信内容是否包含关键字" }, "m_SIGUID": -7835154944568871000, "m_classType": "ActionBlockAction", "m_comment": "判断短信内容是否包含关键字", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "childrenCollapsed": false, "dontLogIfConditionIsFalse": false, "m_SIGUID": -7109438691925108000, "m_classType": "IfConditionAction", "m_comment": "短信重要代码段", "m_constraintList": [ { "m_childConstraints": [ { "checkCase": false, "dictionaryKeys": { "keys": [] }, "dictionaryType": 0, "enableRegex": false, "m_booleanValue": true, "m_doubleValue": 0, "m_intCompareVariable": false, "m_intGreaterThan": false, "m_intLessThan": false, "m_intNotEqual": false, "m_intValue": 0, "m_stringComparisonType": 0, "m_stringEqual": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": true, "m_decimalValue": 0, "m_intValue": 0, "m_name": "发送者号码是否重要", "m_stringValue": "", "m_type": 0, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -7620102650963953000, "m_classType": "MacroDroidVariableConstraint", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "checkCase": false, "dictionaryKeys": { "keys": [] }, "dictionaryType": 0, "enableRegex": false, "m_booleanValue": true, "m_doubleValue": 0, "m_intCompareVariable": false, "m_intGreaterThan": false, "m_intLessThan": false, "m_intNotEqual": false, "m_intValue": 0, "m_stringComparisonType": 0, "m_stringEqual": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "短信内容是否包含关键字", "m_stringValue": "", "m_type": 0, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -8862132488025402000, "m_classType": "MacroDroidVariableConstraint", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ], "m_option": 1, "m_SIGUID": -4653442558677074000, "m_classType": "LogicConstraint", "m_isDisabled": false, "m_isOrCondition": false } ], "m_isDisabled": false, "m_isOrCondition": false }, { "actionBlockId": -8573632407905576000, "actionBlockName": "发送邮件mailtask", "continueActionsWithoutWaiting": false, "inputDictionaryMap": {}, "inputVarsMap": { "给谁": "{lv=邮件接收者}", "主题": "短信转发", "内容": "{lv=附加发送者短信}<br><br>{v=全局_附加内容}" }, "outputDictionaryMap": {}, "outputVarsMap": {}, "m_SIGUID": -7517625001536310000, "m_classType": "ActionBlockAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "dontLogIfConditionIsFalse": false, "m_SIGUID": -5039491284673452000, "m_classType": "ElseAction", "m_comment": "短信不重要代码段", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "booleanDictionaryKeys": { "keys": [] }, "createVar": true, "dictionaryKeys": [], "dictionaryOrArrayType": -1, "m_booleanInvert": false, "m_darkMode": -1, "m_doubleRandomMax": 0, "m_doubleRandomMin": 0, "m_falseLabel": "False", "m_intExpression": false, "m_intRandom": false, "m_intRandomMax": 0, "m_intRandomMin": 0, "m_intValueDecrement": false, "m_intValueIncrement": true, "m_newBooleanValue": false, "m_newDoubleValue": 0, "m_newIntValue": 0, "m_trueLabel": "True", "m_userPrompt": false, "m_userPromptEmptyAtStart": false, "m_userPromptPassword": false, "m_userPromptShowCancel": true, "m_userPromptStopAfterCancel": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "不重要短信计数", "m_stringValue": "", "m_type": 1, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -9174881526798998000, "m_classType": "SetVariableAction", "m_comment": "不重要短信计数", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "booleanDictionaryKeys": { "keys": [] }, "createVar": true, "dictionaryKeys": [], "dictionaryOrArrayType": -1, "m_booleanInvert": false, "m_darkMode": -1, "m_doubleRandomMax": 0, "m_doubleRandomMin": 0, "m_falseLabel": "False", "m_intExpression": false, "m_intRandom": false, "m_intRandomMax": 0, "m_intRandomMin": 0, "m_intValueDecrement": false, "m_intValueIncrement": false, "m_newBooleanValue": false, "m_newDoubleValue": 0, "m_newIntValue": 0, "m_newStringValue": "{lv=不重要短信串}{lv=短信分割线}({lv=不重要短信计数}){lv=附加发送者短信}", "m_trueLabel": "True", "m_userPrompt": false, "m_userPromptEmptyAtStart": false, "m_userPromptPassword": false, "m_userPromptShowCancel": true, "m_userPromptStopAfterCancel": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "不重要短信串", "m_stringValue": "", "m_type": 2, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -5472276001856870000, "m_classType": "SetVariableAction", "m_comment": "追加不重要短信", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "childrenCollapsed": false, "dontLogIfConditionIsFalse": false, "m_SIGUID": -7876053076124838000, "m_classType": "IfConditionAction", "m_comment": "转发不重要短信", "m_constraintList": [ { "checkCase": false, "dictionaryKeys": { "keys": [] }, "dictionaryType": 1, "enableRegex": false, "m_booleanValue": false, "m_doubleValue": 0, "m_intCompareVariable": false, "m_intGreaterThan": false, "m_intLessThan": false, "m_intNotEqual": false, "m_intValue": 5, "m_stringComparisonType": 0, "m_stringEqual": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "不重要短信计数", "m_stringValue": "", "m_type": 1, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -7842346954791186000, "m_classType": "MacroDroidVariableConstraint", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ], "m_isDisabled": false, "m_isOrCondition": false }, { "actionBlockId": -8573632407905576000, "actionBlockName": "发送邮件mailtask", "continueActionsWithoutWaiting": false, "inputDictionaryMap": {}, "inputVarsMap": { "给谁": "{lv=邮件接收者}", "主题": "不重要短信转发", "内容": "{lv=不重要短信串}{lv=短信分割线}{v=全局_附加内容}" }, "outputDictionaryMap": {}, "outputVarsMap": {}, "m_SIGUID": -8595284186655486000, "m_classType": "ActionBlockAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "booleanDictionaryKeys": { "keys": [] }, "createVar": true, "dictionaryKeys": [], "dictionaryOrArrayType": -1, "m_booleanInvert": false, "m_darkMode": -1, "m_doubleRandomMax": 0, "m_doubleRandomMin": 0, "m_falseLabel": "False", "m_intExpression": false, "m_intRandom": false, "m_intRandomMax": 0, "m_intRandomMin": 0, "m_intValueDecrement": false, "m_intValueIncrement": false, "m_newBooleanValue": false, "m_newDoubleValue": 0, "m_newIntValue": 0, "m_trueLabel": "True", "m_userPrompt": false, "m_userPromptEmptyAtStart": false, "m_userPromptPassword": false, "m_userPromptShowCancel": true, "m_userPromptStopAfterCancel": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "不重要短信计数", "m_stringValue": "", "m_type": 1, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -6900618697363031000, "m_classType": "SetVariableAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "booleanDictionaryKeys": { "keys": [] }, "createVar": true, "dictionaryKeys": [], "dictionaryOrArrayType": -1, "m_booleanInvert": false, "m_darkMode": -1, "m_doubleRandomMax": 0, "m_doubleRandomMin": 0, "m_falseLabel": "False", "m_intExpression": false, "m_intRandom": false, "m_intRandomMax": 0, "m_intRandomMin": 0, "m_intValueDecrement": false, "m_intValueIncrement": false, "m_newBooleanValue": false, "m_newDoubleValue": 0, "m_newIntValue": 0, "m_newStringValue": "", "m_trueLabel": "True", "m_userPrompt": false, "m_userPromptEmptyAtStart": false, "m_userPromptPassword": false, "m_userPromptShowCancel": true, "m_userPromptStopAfterCancel": true, "m_variable": { "dictionary": { "entries": [], "isArray": false, "variableType": 4, "type": "Dictionary" }, "isActionBlockWorkingVar": false, "isLocalVar": true, "m_booleanValue": false, "m_decimalValue": 0, "m_intValue": 0, "m_name": "不重要短信串", "m_stringValue": "", "m_type": 2, "supportsInput": true, "supportsOutput": true }, "m_SIGUID": -7558252519711917000, "m_classType": "SetVariableAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "m_SIGUID": -6377918382805940000, "m_classType": "EndIfAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "m_SIGUID": -8711102864211860000, "m_classType": "EndIfAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "m_SIGUID": -7646654004755200000, "m_classType": "EndIfAction", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false }, { "actionsOption": 2, "applicationName": "信息", "enableRegex": false, "excludesApps": false, "matchOption": 0, "matchText": "", "packageName": "com.android.mms", "m_SIGUID": -9137561640821614000, "m_classType": "NotificationInteractionAction", "m_comment": "短信已读", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ], "m_category": "未分类", "m_constraintList": [], "m_description": "", "m_descriptionOpen": false, "m_enabled": true, "m_excludeLog": false, "m_headingColor": 0, "m_isOrCondition": false, "m_name": "短信转发", "m_triggerList": [ { "enableRegex": false, "isExcludeContact": false, "m_exactMatch": false, "m_excludes": false, "m_groupIdList": [ "1" ], "m_groupNameList": [ "Business Card in ColorOS" ], "m_option": 3, "m_smsContent": "", "m_smsFromList": [], "m_smsNumberExclude": false, "subscriptionId": -1, "m_SIGUID": -5380787543583754000, "m_classType": "IncomingSMSTrigger", "m_constraintList": [], "m_isDisabled": false, "m_isOrCondition": false } ] } |