├── MIUI 应用商店下载安装包与检查更新 ├── README.md ├── _应用更新_MIUI_应用商店检查应用更新.tsk.xml └── _最简单_MIUI_应用商店下载安装包.tsk.xml ├── README.md ├── Tasker NFC 物品管理 ├── README.md └── 物品管理.prj.xml ├── Tasker 手机翻转静音 ├── README.MD └── 手机朝下.prf.xml ├── Tasker 自动习惯记录 ├── README.md └── 自动打卡.prf.xml ├── Tasker 获取环境辐射值 ├── README.md └── 辐射数据.tsk.xml ├── Tasker 通知灵动岛耳机弹窗 ├── README.md ├── 灵动岛.scn.xml ├── 蓝牙连接耳机.prf.xml └── 通知灵动岛.prf.xml ├── license ├── 三星 OneUI 切换即圈即搜源(百度|Google) ├── README.md └── 切换即圈即搜源.tsk.xml ├── 不同指纹解锁执行不同任务 ├── README.md └── 指纹解锁.prf.xml ├── 保存哔哩哔哩视频封面 ├── README.md └── 保存哔哩哔哩封面.tsk.xml ├── 自动复制输入验证码 ├── 复制验证码.tsk.xml ├── 收到验证码短信.prf.xml └── 最后附上制作过程视频演示 ├── 自动时间记录 └── Inoreader_自动时间记录.prf.xml └── 跨平台多设备同步剪贴板 ├── README.md ├── 分享文件数据到_Windows_剪贴板.prf.xml ├── 同步_Windows_剪贴板.tsk.xml ├── 同步文字到_Windows_剪贴板.prf.xml └── 获取_Windows_剪贴板.tsk.xml /MIUI 应用商店下载安装包与检查更新/README.md: -------------------------------------------------------------------------------- 1 | 2 | https://sspai.com/u/fairyex/posts 3 | 4 | 由 Fairyex 制作,喜欢的朋友可以在各平台搜索并关注我。 5 | -------------------------------------------------------------------------------- /MIUI 应用商店下载安装包与检查更新/_应用更新_MIUI_应用商店检查应用更新.tsk.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1663404823183 4 | 1664380478090 5 | 23 6 | 【应用更新】MIUI 应用商店检查应用更新 7 | 100 8 | 1 9 | 10 | false 11 | 选择一个或多个你想要检查更新的应用,自动通过 MIUI 应用商店检查应用更新,并且在有更新的情况下自动打开对应的应用下载页面。 12 | 13 | 由 Fairyex 制作,喜欢的朋友可以在各平台搜索并关注我。 14 | Apps,Utility,Web 15 |

true

16 | 17 |
18 | 19 | 390 20 | 21 | 22 | 23 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%input 24 | 输入 25 | 从对话框中检索到的文本</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0></StringArray> 26 | [Ljava.lang.String; 27 | 28 | 29 | Apps 30 | 选择你想要更新的应用(支持多个) 31 | 选择你想要检查更新的应用 32 | 33 | 34 | 35 | 354 36 | 37 | %app_list 38 | %input 39 | / 40 | 41 | 42 | 37 43 | 44 | 45 | 46 | %mt_match 47 | 12 48 | 49 | 50 | 51 | 52 | 53 | 37 54 | 55 | 56 | 57 | %app_version 58 | 6 59 | %mt_match 60 | 61 | 62 | 63 | 64 | 104 65 | 66 | m.app.mi.com/details?id=%item 67 | 68 | 69 | 70 | 71 | 72 | 547 73 | false 74 | %APP_HAVE_UPDATE 75 | 应用貌似有更新! 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 43 84 | 85 | false 86 | 87 | 88 | 547 89 | false 90 | %APP_HAVE_UPDATE 91 | 应用貌似没有更新! 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 38 100 | 101 | 102 | 38 103 | 104 | 105 | 106 | 40 107 | 108 | 109 | 547 110 | %app_number 111 | %app_list(#) 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 547 120 | 121 | %app_order 122 | 0 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 39 131 | 132 | %item 133 | %app_list() 134 | 135 | 136 | 137 | 888 138 | 139 | %app_order 140 | 141 | 142 | 143 | 144 | 548 145 | 正在检查第 %app_order/%app_number 个应用 %item 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 344 163 | 164 | 165 | %item 166 | %app_version 167 | 168 | 169 | 339 170 | 171 | 172 | 173 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%http_cookies 174 | Cookies 175 | 服务器在响应中以 "Cookie:COOKIE_VALUE" 格式发送的Cookie, 您可以直接在 "HTTP 请求" 操作的 "标头" 字段中使用它</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%http_response_code 176 | 响应代码 177 | 服务器响应的HTTP代码</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%http_response_length 178 | 响应长度 179 | 用bytes表示响应的大小</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%http_data 180 | 数据 181 | 服务器从HTTP request操作返回的数据</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4>%http_file_output 182 | 文件输出 183 | 即使您指定了文件保存的目录,也将始终包含文件的完整路径</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5>%http_headers() 184 | 请求头 185 | 服务器在响应中发送的 HTTP 标头,每个标头均采用 “键:值” ('key:value') 格式</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5></StringArray> 186 | [Ljava.lang.String; 187 | 188 | 189 | 190 | 191 | 192 | 193 | m.app.mi.com/details?id=%item 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 396 204 | 205 | 206 | 207 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%mt_match 208 | 匹配 209 | 也可以作为数组访问</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%mt_match_found 210 | 匹配 211 | 如果匹配则为真,否则为假</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%mt_groups() 212 | 组 213 | </_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2></StringArray> 214 | [Ljava.lang.String; 215 | 216 | 217 | 218 | %http_data[div{class=detail-version}] 219 | (?<=版本号:)[\d\D]+ 220 | 221 | 222 | 223 | mw_action_store 224 | -16777216 225 | 226 |
227 |
228 | -------------------------------------------------------------------------------- /MIUI 应用商店下载安装包与检查更新/_最简单_MIUI_应用商店下载安装包.tsk.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1663404823183 4 | 1664380460337 5 | 35 6 | 【最简单】MIUI 应用商店下载安装包 7 | 100 8 | 1 9 | 10 | false 11 | 简单选择应用就能在网页版 MIUI 应用商店打开对应的下载页面。 12 | 13 | 由 Fairyex 制作,喜欢的朋友可以在各平台搜索并关注我。 14 | Apps,Utility,Web 15 |

true

16 | 17 |
18 | 19 | 390 20 | 21 | 22 | 23 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%input 24 | 输入 25 | 从对话框中检索到的文本</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0></StringArray> 26 | [Ljava.lang.String; 27 | 28 | 29 | App 30 | 31 | 选择你想要下载安装包的应用 32 | 33 | 34 | 35 | 339 36 | 37 | 38 | 39 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%http_cookies 40 | Cookies 41 | 服务器在响应中以 "Cookie:COOKIE_VALUE" 格式发送的Cookie, 您可以直接在 "HTTP 请求" 操作的 "标头" 字段中使用它</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%http_response_code 42 | 响应代码 43 | 服务器响应的HTTP代码</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%http_response_length 44 | 响应长度 45 | 用bytes表示响应的大小</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%http_data 46 | 数据 47 | 服务器从HTTP request操作返回的数据</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4>%http_file_output 48 | 文件输出 49 | 即使您指定了文件保存的目录,也将始终包含文件的完整路径</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5>%http_headers() 50 | 请求头 51 | 服务器在响应中发送的 HTTP 标头,每个标头均采用 “键:值” ('key:value') 格式</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5></StringArray> 52 | [Ljava.lang.String; 53 | 54 | 55 | 56 | 57 | 58 | 59 | m.app.mi.com/details?id=%input 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 396 70 | 71 | 72 | 73 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%mt_match 74 | 匹配 75 | 也可以作为数组访问</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%mt_match_found 76 | 匹配 77 | 如果匹配则为真,否则为假</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%mt_groups() 78 | 组 79 | </_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2></StringArray> 80 | [Ljava.lang.String; 81 | 82 | 83 | 84 | %http_data[div{class=detail-version}] 85 | (?<=版本号:)[\d\D]+ 86 | 87 | 88 | 89 | 37 90 | 91 | 92 | 93 | %mt_match 94 | 12 95 | 96 | 97 | 98 | 99 | 100 | 104 101 | m.app.mi.com/details?id=%input 102 | 103 | 104 | 105 | 106 | 107 | 43 108 | 109 | 110 | 129 111 | alert("获取应用版本号失败,可能是 MIUI 应用商店没有这个应用,请选择另一个应用"); 112 | 113 | 114 | 115 | 116 | 117 | 38 118 | 119 | 120 | 121 | mw_action_store 122 | -16777216 123 | 124 |
125 |
126 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 分享一下我自己制作的各种 Tasker 任务。 2 | 3 | Share variety types of the Tasker tasks that made by myself. 4 | 5 | 【在更多平台上关注我,第一时间索取新内容福利】 6 | 7 | 【微信公众号】:Fairyex 的干货精选 针对最近热门的科技新闻啥的做些评论和亲自体验,不定时更新 8 | 9 | 【微博】:Fairyex_ https://weibo.com/u/2146873831 10 | 11 | 【哔哩哔哩】:Fairyex https://space.bilibili.com/2919008 12 | 13 | 【知乎】:Fairyex https://www.zhihu.com/people/fairyex 14 | 15 | 最后来个自己的推荐:如果你想了解下载原理,搭建下载工具,提升下载速度和了解下载隐私监控方面信息,可以购买一份我在少数派的付费教程《下载科普:隐私,稳定与速度》,你想知道的都在里面,不在里面还可以评论私信直接问我,不要错过噢。 16 | 17 | 教程链接: https://sspai.com/series/25 18 | 19 | 我的另一个付费教程《显示器全面指南》让你在挑选到合适自己显示器并懂得如何正确使用的基础之上,学会让显示器发挥更好的性能和画面效果、利用显示器去提高我们的工作效率、充分发挥不同类型显示器优势等方法,能让我们进一步提高使用显示器的体验,从而提高生活质量。同时能让显示器发挥全部潜力,令我们在显示器投入上「物超所值」。 20 | 21 | 教程链接: https://sspai.com/series/78 22 | 23 | 不知道好不好不敢买?看看酷安最长图文的万字试读吧😁:https://www.coolapk.com/feed/6077480 24 | 25 | Updated 2022 26 | -------------------------------------------------------------------------------- /Tasker NFC 物品管理/README.md: -------------------------------------------------------------------------------- 1 | Made By Fairyex 2 | 3 | Follow Me on 4 | 5 | SSPAI https://sspai.com/user/719560/ 6 | CoolAPK https://www.coolapk.com/u/466253 7 | Weibo https://weibo.com/513234793 8 | -------------------------------------------------------------------------------- /Tasker NFC 物品管理/物品管理.prj.xml: -------------------------------------------------------------------------------- 1 | 2 | 1440.0,2901.0 3 | 4 | 1571118447074 5 | 1571118499683 6 | 8 7 | 126 8 | 127 9 | 10 | 2076 11 | 0 12 | 13 | 14 | 15 | 16 | 17 | 1571056036225 18 | 物品管理 19 | 126 20 | AgeOldestFirst 21 | 物品管理,数据中心 22 | 116,119,124,127,125,118,54,117,36,121,93,123,120,122 23 | 24 | Tasker 实现物品管理 25 | 26 | By Fairyex 27 | 28 | 29 | 30 | 31 | 1497193702668 32 | 1571066624005 33 | -1 34 | 2900 35 | 数据中心 36 | -1 37 | 1410 38 | 39 | 54 40 | 4 41 | 0,0,1410,2900,0,0,1080,1920 42 | 背景点击 43 | 44 | #00333333 45 | 46 | 47 | #FF000000 48 | 49 | 50 | 51 | 52 | 4 53 | 11,1028,1382,1371,27,1235,1032,500 54 | 背景 55 | 56 | #00eaeaea 57 | 58 | 59 | #FF000000 60 | 61 | 62 | 63 | 64 | 4 65 | 11,1028,1382,1371,352,660,200,200 66 | Web视图1 67 | 68 | Tasker/configs/user/data-center.html 69 | 70 | 71 | 72 | 73 | 74 | 75 | 4 76 | -1,-1,-1,-1,-1,-1,-1,-1 77 | 78 | 79 | #00FFFFFF 80 | 81 | 82 | #FF000000 83 | 84 | 85 | 86 | 87 | 88 | 36 89 | 90 | 91 | #00FFFFFF 92 | 93 | 日报 94 | 95 | 96 | 97 | 98 | 4 99 | 100 | 101 | 102 | 103 | 1497193702668 104 | 1571118354468 105 | -1 106 | 2900 107 | 物品管理 108 | -1 109 | 1410 110 | 111 | 119 112 | 4 113 | 0,0,1410,2900,0,0,1080,1920 114 | 背景点击 115 | 116 | #00333333 117 | 118 | 119 | #FF000000 120 | 121 | 122 | 123 | 124 | 4 125 | 220,1025,1000,1000,5,1025,1400,1375 126 | 矩形3 127 | 128 | #FFFFFFFF 129 | 130 | 131 | #FF000000 132 | 133 | 134 | 135 | 136 | 122 137 | 4 138 | 280,1325,400,275,455,1350,475,275 139 | 新抽屉 140 | 添加抽屉 141 | 142 | 143 | #FF000000 144 | 145 | 146 | 147 | 148 | 149 | 4 150 | 220,1025,1000,250,220,1025,1000,250 151 | 矩形4 152 | 153 | #FFFF3C3C 154 | 155 | 156 | #FF000000 157 | 158 | 159 | 160 | 161 | 4 162 | 205,1025,475,250,205,1025,475,250 163 | 物品管理 164 | <b>物品管理</b> 165 | 166 | 167 | #FFFFFFFF 168 | 169 | 170 | 171 | 172 | 173 | 174 | 123 175 | 4 176 | 730,1325,400,275,470,1700,500,275 177 | 查找物品 178 | 查找物品 179 | 180 | 181 | #FF000000 182 | 183 | 184 | 185 | 186 | 187 | 125 188 | 4 189 | 280,1650,400,275,280,1650,400,275 190 | 查看抽屉 191 | 查看抽屉 192 | 193 | 194 | #FF000000 195 | 196 | 197 | 198 | 199 | 200 | 120 201 | 202 | 203 | #00FFFFFF 204 | 205 | 日报 206 | 207 | 208 | 209 | 210 | 4 211 | 212 | 213 | 214 | 215 | 1571060579400 216 | 1571071364468 217 | 116 218 | 添加新抽屉 219 | 100 220 | 221 | 548 222 | 请将手机放到 NFC 标签上再按确定 223 | 224 | 225 | 226 | 360 227 | 228 | 229 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%input 230 | Input 231 | The text that was inserted in the dialog</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0></StringArray> 232 | [Ljava.lang.String; 233 | 234 | 235 | 添加新抽屉 236 | 输入新抽屉的名字 237 | 238 | 239 | 1 240 | 241 | 242 | 243 | 244 | 43 245 | 246 | 247 | 548 248 | 抽屉已存在 249 | 250 | 251 | 252 | 38 253 | 254 | 255 | 547 256 | %NEW_DRAWER 257 | %input 258 | 259 | 260 | 261 | 262 | 263 | 264 | 330 265 | 266 | 267 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%nfc_id 268 | ID 269 | Unique ID for the tag</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%nfc_payload 270 | Payload 271 | Contents of the tag in text format</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%nfc_present 272 | Present 273 | Contents of the tag in text format</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%nfc_types() 274 | Types 275 | Type of technologies the card supports</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3></StringArray> 276 | [Ljava.lang.String; 277 | 278 | 279 | 物品管理 %input 280 | Text 281 | 282 | 283 | 547 284 | %DRAWER_ID 285 | %nfc_id 286 | 287 | 288 | 289 | 290 | 291 | 292 | 129 293 | false 294 | var drawer = global("DRAWER_ID"); 295 | setGlobal(drawer,"["+global("NEW_DRAWER")+",'']"); 296 | 297 | 298 | 299 | 300 | 301 | 342 302 | 303 | Tasker/configs/user/GM/%DRAWER_ID.text 304 | %DRAWER_EXIST 305 | 306 | 307 | 308 | 37 309 | 310 | 311 | %DRAWER_EXIST 312 | 1 313 | true 314 | 315 | 316 | 317 | 318 | 410 319 | Tasker/configs/user/GM/%DRAWER_ID.text 320 | %NEW_DRAWER@fairyex_drawer@空白抽屉 321 | 322 | 323 | 324 | 325 | 548 326 | 成功建立新抽屉 %NEW_DRAWER 327 | 328 | 329 | 330 | 331 | 1571061344270 332 | 1571064788718 333 | 117 334 | 物品管理测试 335 | 100 336 | 337 | 417 338 | Tasker/configs/user/GM/04B1DDC2C64880.text 339 | %DRAWER_CONTENT 340 | 341 | 342 | 590 343 | %DRAWER_CONTENT 344 | @fairyex_drawer@ 345 | 346 | 347 | 348 | 129 349 | false 350 | var content = JSON.parse(global("NFC_GM")); 351 | alert(content) 352 | content[global("DRAWER_ID")] = "{'name':"+global("input")+",'content':''}"; 353 | setGlobal("NFC_GM",content); 354 | 355 | 356 | 357 | 358 | 359 | 360 | 1571065060331 361 | 1571116772123 362 | 118 363 | 查找物品 364 | 100 365 | 366 | 360 367 | 368 | 369 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%input 370 | Input 371 | The text that was inserted in the dialog</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0></StringArray> 372 | [Ljava.lang.String; 373 | 374 | 375 | 输入想要查找的物品 376 | 377 | 378 | 379 | 1 380 | 381 | 382 | 383 | 384 | 547 385 | %DRAWER_SEARCH 386 | %input 387 | 388 | 389 | 390 | 391 | 392 | 393 | 129 394 | var drawer_list = listFiles("Tasker/configs/user/GM/").split("\n"); 395 | var result = []; 396 | for(i=0;i<drawer_list.length;i++){ 397 | var content = readFile(drawer_list[i]); 398 | if(content.indexOf(global("DRAWER_SEARCH")) != -1){ 399 | result.push(content.split("@fairyex_drawer@")[0]); 400 | } 401 | } 402 | 403 | if(result.length>0){setGlobal("DRAWER_RESULT",result+" 中发现该物品")} 404 | else{setGlobal("DRAWER_RESULT","没有找到任何结果")} 405 | 406 | 407 | 408 | 409 | 410 | 360 411 | 412 | 413 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%input 414 | Input 415 | The text that was inserted in the dialog</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0></StringArray> 416 | [Ljava.lang.String; 417 | 418 | 419 | 搜索结果 420 | 421 | %DRAWER_RESULT 422 | 423 | 131073 424 | 425 | 426 | 427 | 428 | 429 | 1497194598232 430 | 1497194598232 431 | 119 432 | 9 433 | 434 | 49 435 | 物品管理 436 | 437 | 438 | 439 | 1551836707397 440 | 1551836707397 441 | 120 442 | 102 443 | 444 | 49 445 | 数据中心 446 | 447 | 448 | 449 | 1571066746677 450 | 1571116768482 451 | 121 452 | 显示控制界面 453 | 7 454 | 455 | 47 456 | 物品管理 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | mw_action_find_replace 467 | 468 | 469 | 470 | 1571067170328 471 | 1571067170328 472 | 122 473 | 9 474 | 475 | 130 476 | 添加新抽屉 477 | 478 | %priority 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 1571067182497 488 | 1571067182497 489 | 123 490 | 9 491 | 492 | 130 493 | 查找物品 494 | 495 | %priority 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | 1571116742685 505 | 1571118336515 506 | 124 507 | 查看抽屉物品 508 | 100 509 | 510 | 360 511 | 512 | 513 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%input 514 | Input 515 | The text that was inserted in the dialog</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0></StringArray> 516 | [Ljava.lang.String; 517 | 518 | 519 | 输入部分/完整抽屉名字 520 | 521 | 522 | 523 | 1 524 | 525 | 526 | 527 | 528 | 547 529 | %DRAWER_SEARCH 530 | %input 531 | 532 | 533 | 534 | 535 | 536 | 537 | 129 538 | var drawer_list = listFiles("Tasker/configs/user/GM/").split("\n"); 539 | var result = []; 540 | for(i=0;i<drawer_list.length;i++){ 541 | var content = readFile(drawer_list[i]).split("@fairyex_drawer@"); 542 | if(content[0].indexOf(global("DRAWER_SEARCH")) != -1){ 543 | setGlobal("DRAWER_NAME",content[0]); 544 | result = content[1]; 545 | } 546 | } 547 | 548 | if(result.length>0){ 549 | setGlobal("DRAWER_RESULT",result); 550 | } 551 | else{setGlobal("DRAWER_RESULT","没有找到任何结果")} 552 | 553 | 554 | 555 | 556 | 557 | 360 558 | 559 | 560 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%input 561 | Input 562 | The text that was inserted in the dialog</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0></StringArray> 563 | [Ljava.lang.String; 564 | 565 | 566 | %DRAWER_NAME 567 | 抽屉里面都有: 568 | %DRAWER_RESULT 569 | 570 | 3600 571 | 572 | 131073 573 | 574 | 575 | 576 | 577 | 578 | 1571117162377 579 | 1571117162377 580 | 125 581 | 9 582 | 583 | 130 584 | 查看抽屉物品 585 | 586 | %priority 587 | 588 | 589 | 590 | 591 | 592 | 593 | 594 | 595 | 1571118465975 596 | 1571118499683 597 | 127 598 | 物品管理扫描 599 | 6 600 | 601 | 330 602 | 603 | 604 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%nfc_id 605 | ID 606 | Unique ID for the tag</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%nfc_payload 607 | Payload 608 | Contents of the tag in text format</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%nfc_present 609 | Present 610 | Contents of the tag in text format</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%nfc_types() 611 | Types 612 | Type of technologies the card supports</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3></StringArray> 613 | [Ljava.lang.String; 614 | 615 | 616 | 617 | 618 | 619 | 620 | 37 621 | 622 | 623 | %nfc_payload 624 | 4 625 | 物品管理 626 | 627 | 628 | 629 | 630 | 130 631 | 显示抽屉内容 632 | 633 | %priority 634 | 635 | 636 | 637 | 638 | 639 | 640 | 641 | 38 642 | 643 | 644 | 645 | 1551836707397 646 | 1551836707397 647 | 36 648 | 9 649 | 650 | 49 651 | 数据中心 652 | 653 | 654 | 655 | 1497194598232 656 | 1497194598232 657 | 54 658 | 9 659 | 660 | 49 661 | 数据中心 662 | 663 | 664 | 665 | 1571056063343 666 | 1571117591201 667 | 93 668 | 显示抽屉内容 669 | 100 670 | 671 | 330 672 | 673 | 674 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%nfc_id 675 | ID 676 | Unique ID for the tag</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%nfc_payload 677 | Payload 678 | Contents of the tag in text format</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%nfc_present 679 | Present 680 | Contents of the tag in text format</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%nfc_types() 681 | Types 682 | Type of technologies the card supports</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3></StringArray> 683 | [Ljava.lang.String; 684 | 685 | 686 | 687 | 688 | 689 | 690 | 547 691 | %DRAWER_ID 692 | %nfc_id 693 | 694 | 695 | 696 | 697 | 698 | 699 | 548 700 | 这个标签还没有添加抽屉内容 701 | 702 | 703 | 704 | 38 705 | 706 | 707 | 342 708 | 709 | Tasker/configs/user/GM/%DRAWER_ID.text 710 | %DRAWER_READ_EXIST 711 | 712 | 713 | 714 | 37 715 | 716 | 717 | %DRAWER_READ_EXIST 718 | 0 719 | true 720 | 721 | 722 | 723 | 724 | 417 725 | Tasker/configs/user/GM/%DRAWER_ID.text 726 | %DRAWER_CONTENT 727 | 728 | 729 | 590 730 | %DRAWER_CONTENT 731 | @fairyex_drawer@ 732 | 733 | 734 | 735 | 360 736 | 737 | 738 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%input 739 | Input 740 | The text that was inserted in the dialog</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0></StringArray> 741 | [Ljava.lang.String; 742 | 743 | 744 | %DRAWER_CONTENT1 745 | 抽屉里面都有: 746 | %DRAWER_CONTENT2 747 | 748 | 3600 749 | 750 | 131073 751 | 752 | 753 | 754 | 755 | 410 756 | Tasker/configs/user/GM/%DRAWER_ID.text 757 | %DRAWER_CONTENT1@fairyex_drawer@%input 758 | 759 | 760 | 761 | 762 | 548 763 | 成功修改抽屉内容 764 | 765 | 766 | 767 | 43 768 | 769 | 770 | 771 | -------------------------------------------------------------------------------- /Tasker 手机翻转静音/README.MD: -------------------------------------------------------------------------------- 1 | 手机翻转静音 By Fairyex 2 | 3 | 微博:Fairyex_ 4 | 少数派:Fairyex 5 | 酷安:Fairyex 6 | -------------------------------------------------------------------------------- /Tasker 手机翻转静音/手机朝下.prf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1571904427330 4 | 1571918356456 5 | 8 6 | 113 7 | 114 8 | 115 9 | 手机朝下 10 | 11 | 手机翻转静音 By Fairyex 12 | 13 | 微博:fairyex_ 14 | 酷安:fairyex 15 | 少数派:fairyex 16 |

false

17 | 18 |
19 | 20 | 120 21 | 22 | 23 |
24 | 25 | 1571836079848 26 | 1571918345014 27 | 114 28 | 翻转静音 29 | 30 | 313 31 | 32 | 33 | 34 | 307 35 | 36 | 37 | 38 | 39 | 40 | 41 | 1571836564169 42 | 1571918346279 43 | 115 44 | 退出翻转静音 45 | 1006 46 | 47 | 313 48 | 49 | 50 | 51 | 307 52 | 53 | 54 | 55 | 56 | 57 |
58 | -------------------------------------------------------------------------------- /Tasker 自动习惯记录/README.md: -------------------------------------------------------------------------------- 1 | Tasker 自动习惯记录 By Fairyex 2 | 3 | 少数派 @Fairyex 4 | 酷安 @Fairyex 5 | 微博 @Fairyex_ 6 | -------------------------------------------------------------------------------- /Tasker 自动习惯记录/自动打卡.prf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1572497722915 4 | true 5 | 1572436167353 6 | 129 7 | 97 8 | 128 9 | 自动打卡 10 | 11 | 自动习惯记录 By Fairyex 12 | 13 | 少数派 @Fairyex 14 | 酷安 @Fairyex 15 | 微博 @Fairyex 16 |

false

17 | 18 |
19 | 20 | com.sec.android.app.camera.Camera 21 | 3 22 | 相机 23 | com.sec.android.app.camera 24 | 25 |
26 | 27 | 1570453952852 28 | 1572440725807 29 | 128 30 | 开始自动打卡 31 | 100 32 | 33 | 547 34 | 35 | %APPUSETIME 36 | 5000 37 | 38 | 39 | 40 | 41 | 42 | 43 | 547 44 | 45 | %APPCLOSE 46 | %TIMEMS 47 | 48 | 49 | 50 | 51 | 52 | 53 | 597 54 | 55 | %APPCLOSE 56 | 57 | 58 | 59 | 60 | 61 | 62 | 890 63 | 64 | %APPCLOSE 65 | 66 | %APPOPEN 67 | 68 | 69 | 70 | 71 | 37 72 | 73 | 74 | 75 | %APPCLOSE 76 | 7 77 | %APPUSETIME 78 | 79 | 80 | 81 | 82 | 548 83 | 84 | 应用打开时长达到,自动打卡 85 | 86 | 87 | 88 | 2112800467 89 | 90 | 91 | 92 | 0 93 | java.lang.Integer 94 | 标记: 游戏 95 | java.lang.String 96 | 8 97 | java.lang.Long 98 | true 99 | java.lang.Boolean 100 | 101 | 102 | org.isoron.uhabits 103 | org.isoron.uhabits.automation.EditSettingActivity 104 | 105 | 106 | 107 | 38 108 | 109 | 110 | 111 | 1570455095814 112 | 1572437464478 113 | 97 114 | 开始记录应用使用时间 115 | 100 116 | 117 | 547 118 | 119 | %APPOPEN 120 | %TIMEMS 121 | 122 | 123 | 124 | 125 | 126 | 127 | 597 128 | 129 | %APPOPEN 130 | 131 | 132 | 133 | 134 | 135 | 136 |
137 | -------------------------------------------------------------------------------- /Tasker 获取环境辐射值/README.md: -------------------------------------------------------------------------------- 1 | 2 | https://sspai.com/u/fairyex/posts 3 | 4 | 由 Fairyex 制作,喜欢的朋友可以在各个平台搜索并关注我 5 | -------------------------------------------------------------------------------- /Tasker 获取环境辐射值/辐射数据.tsk.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1693512091684 4 | 1693557644471 5 | 25 6 | 辐射数据 7 | 100 8 | 9 | 547 10 | %url 11 | https://data.rmtc.org.cn/gis/listsation0_100M.html 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 547 20 | %area 21 | 湛江 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 339 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | %url 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 396 48 | 49 | 50 | 51 | 52 | %http_data 53 | %area[\s\S]+?<span class="label">(\d+ nGy/h)<\/span> 54 | 55 | 56 | 57 | 548 58 | 61 | %area 地区辐射值 %mt_groups() 62 | (正常范围 30-200 nGy/h) 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | mw_image_gradient 81 | -16777216 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /Tasker 通知灵动岛耳机弹窗/README.md: -------------------------------------------------------------------------------- 1 | https://sspai.com/u/fairyex/posts 2 | 3 | 由 Fairyex 制作,喜欢的朋友可以在各个平台搜索并关注我 4 | -------------------------------------------------------------------------------- /Tasker 通知灵动岛耳机弹窗/灵动岛.scn.xml: -------------------------------------------------------------------------------- 1 | 2 | 904.0,2229.0 3 | 4 | 1671072703843 5 | 1671370524637 6 | -1 7 | 2176 8 | 灵动岛 9 | -1 10 | 1812 11 | 12 | 4 13 | 0,0,1811,2176,-1,-1,-1,-1 14 | 灵动岛 15 | 16 | <html> 17 | <meta charset="utf-8" > 18 | <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"> 19 | <meta content="yes" name="apple-mobile-web-app-capable"> 20 | <meta content="black" name="apple-mobile-web-app-status-bar-style"> 21 | <meta content="telephone=no" name="format-detection"> 22 | <style> 23 | * {margin:0;padding:0;} 24 | body{width:100%;} 25 | a {text-decoration:none;color:#666666; 26 | -webkit-tap-highlight-color:rgba(0,0,0,0);} 27 | 28 | @keyframes island { 29 | from {transform:scale(0,0)} 30 | to {transform:scale(1,1)} 31 | } 32 | @keyframes island_close { 33 | from {transform:scale(1,1)} 34 | to {transform:scale(0,0)} 35 | } 36 | 37 | #notification_island {width:max-content;height:max-content;text-align:center;max-width:80vw;position:absolute;top:0;left:0;padding:1.5vw 3vw;background:black;color:white;font-size:1em;opacity:0;} 38 | #noti_title span {color:rgba(255,255,255,0.5)} 39 | #noti_title {font-size:0.7em} 40 | #noti_content {} 41 | 42 | #buds_island {width:300px;height:max-content;padding:2vw 0vw;position:absolute;background:#fff;color:#202020;font-size:1em;box-shadow:0 0 20px rgba(0,0,0,0.14);opacity:0} 43 | #buds_name,#buds_state,#buds_battery {width:80%;text-align:center;font-size:1.2em;font-weight:bold;float:left;margin:0 0 0 10%;} 44 | #buds_image {width:80%;height:auto;margin:5% 0 5% 10%;} 45 | #buds_state,#buds_battery {width:40%;text-align:left;font-size:0.8em} 46 | #buds_state {text-align:left;} 47 | #buds_battery {text-align:right;margin-left:0;color:green;} 48 | </style> 49 | <body> 50 | 51 | <div id="all"> 52 | <div id="notification_island"> 53 | <div id="noti_title"><span></span></div> 54 | <div id="noti_content"></div> 55 | </div> 56 | 57 | <div id="buds_island"> 58 | <div id="buds_name">三星 Galaxy Buds2 Pro</div> 59 | <div id="buds_pic"></div> 60 | <div id="buds_state">已连接</div> 61 | <div id="buds_battery">电量: 100%</div> 62 | </div> 63 | </div> 64 | 65 | <script> 66 | let fx = function(o){return document.querySelector(o)}; 67 | let noti_land = fx("#notification_island") 68 | let buds_land = fx("#buds_island") 69 | 70 | if(local("island_type") == "通知"){ 71 | buds_land.style.display = "none" 72 | 73 | fx("#noti_title").innerHTML = local("evtprm2") 74 | fx("#noti_content").innerText = local("evtprm3") 75 | 76 | setTimeout(function(){ 77 | noti_land.style.left = local("island_left") - noti_land.offsetWidth / 2 + "px" 78 | noti_land.style.top = local("island_top") + "px" 79 | noti_land.style.background = local("island_bg") 80 | noti_land.style.color = local("island_fontcolor") 81 | noti_land.style["border-radius"] = noti_land.offsetHeight / 2 + "px" 82 | noti_land.style["transform-origin"] = local("island_origin") 83 | noti_land.style.opacity = 1 84 | noti_land.style["animation"] = "island 0.5s ease-in-out" 85 | },100); 86 | 87 | noti_land.onclick = function(){ 88 | noti_land.style["animation"] = "island_close 0.5s ease-in-out forwards" 89 | setTimeout('destroyScene("灵动岛");',600); 90 | } 91 | 92 | if(local("island_time") > 0){ 93 | setTimeout(function(){ 94 | noti_land.style["animation"] = "island_close 0.5s ease-in-out forwards" 95 | setTimeout('destroyScene("灵动岛");',600); 96 | }, local("island_time")) 97 | } 98 | 99 | } else if (local("island_type") == "耳机"){ 100 | noti_land.style.display = "none" 101 | 102 | fx("#buds_name").innerText = local("bt_name") 103 | fx("#buds_battery").innerText = "电量 "+local("bt_battery_level") + "%" 104 | 105 | if(local("bt_battery_level") >= 60){ 106 | fx("#buds_battery").style.color = "green" 107 | } else if(local("bt_battery_level") < 60 && local("bt_battery_level") >= 30){ 108 | fx("#buds_battery").style.color = "orange" 109 | } else if(local("bt_battery_level") < 30){ 110 | fx("#buds_battery").style.color = "red" 111 | } 112 | 113 | buds_land.style.width = local("island_size") + "px" 114 | 115 | setTimeout(function(){ 116 | buds_land.style.left = local("island_left") - buds_land.offsetWidth / 2 + "px" 117 | buds_land.style.top = local("island_top") + "px" 118 | buds_land.style["border-radius"] = local("island_size") / 10 + "px" 119 | buds_land.style.background = local("island_bg") 120 | buds_land.style.color = local("island_fontcolor") 121 | 122 | fx("#buds_pic").innerHTML = '<img id="buds_image" src="'+local("buds_pic")+'" />' 123 | 124 | buds_land.style["transform-origin"] = local("island_origin") 125 | buds_land.style.opacity = 1 126 | buds_land.style["animation"] = "island 0.5s ease-in-out" 127 | },100) 128 | 129 | buds_land.onclick = function(){ 130 | buds_land.style["animation"] = "island_close 0.5s ease-in-out forwards" 131 | setTimeout('destroyScene("灵动岛");',600); 132 | } 133 | 134 | if(local("island_time") > 0){ 135 | setTimeout(function(){ 136 | buds_land.style["animation"] = "island_close 0.5s ease-in-out forwards" 137 | setTimeout('destroyScene("灵动岛");',600); 138 | }, local("island_time")) 139 | }} 140 | 141 | </script> 142 | </body> 143 | </html> 144 | 145 | 146 | 147 | 148 | 149 | 150 | 4 151 | -1,-1,-1,-1,-1,-1,-1,-1 152 | 153 | 154 | 155 | 156 | 157 | #FF000000 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | #00FFFFFF 166 | 167 | 灵动岛 168 | 169 | 170 | 171 | 172 | 173 | 174 | -------------------------------------------------------------------------------- /Tasker 通知灵动岛耳机弹窗/蓝牙连接耳机.prf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1666629818625 4 | true 5 | 1671370333338 6 | 8 7 | 115 8 | 109 9 | 蓝牙连接耳机 10 | 11 | 2080 12 | 0 13 | 14 | 15 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%bt_major_class 16 | 主类 17 | 这个设备主要蓝牙的ID</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%bt_major_class_name 18 | 主类名 19 | 这个设备主要蓝牙的名称</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%bt_signal_strength 20 | 信号强度 21 | 连接强度 (dBm),仅适用于已连接和已扫描的设备</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%bt_alias 22 | 别名 23 | 蓝牙设备用户名(用户名)</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4>%bt_encrypted 24 | 加密 25 | 如果与此设备存在至少一个加密连接,则为 true;否则为 false</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5>%bt_name 26 | 名称 27 | 蓝牙设备名称</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES6>%bt_address 28 | 地址 29 | 蓝牙设备的MAC地址</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES6><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES7>%bt_connected 30 | 已连接 31 | 如果蓝牙设备被连接则值为true,否则false</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES7><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES8>%bt_battery_level 32 | 电量等级 33 | 剩余电量百分比,如果不可用则值为空.(Android 9+)</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES8><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES9>%bt_class 34 | 类 35 | 此设备的蓝牙ID</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES9><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES10>%bt_class_name 36 | 类名 37 | 该设备的蓝牙ID</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES10><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES11>%bt_type 38 | 类型 39 | 可以是 'classic', 'le', 'dual' 或 'unknown'</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES11><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES12>%bt_paired 40 | 配对 41 | 如果蓝牙设备已与你的手机配对则值为true,否则为false</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES12></StringArray> 42 | [Ljava.lang.String; 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 1666629243255 51 | 1671371754502 52 | 109 53 | 耳机灵动岛 54 | 6 55 | 56 | 49 57 | false 58 | 灵动岛 59 | 60 | 61 | 137 62 | 63 | 64 | 65 | 66 | %bt_connected 67 | 3 68 | true 69 | 70 | 71 | 72 | 73 | 547 74 | 75 | %buds_pic 76 | /sdcard/Tasker/configs/earbuds.png 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 47 85 | 灵动岛 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 547 99 | 100 | %island_left 101 | 50 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 547 110 | 111 | %island_top 112 | 50 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 547 121 | 122 | %island_size 123 | 350 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 547 132 | 133 | %island_type 134 | 耳机 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 547 143 | 144 | %island_bg 145 | #fff 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 547 154 | 155 | %island_fontcolor 156 | #202020 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 547 165 | 166 | %island_origin 167 | top center 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 547 176 | 177 | %island_time 178 | 0 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | mw_hardware_headset 187 | -1 188 | 189 | 190 | 191 | -------------------------------------------------------------------------------- /Tasker 通知灵动岛耳机弹窗/通知灵动岛.prf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1671117910799 4 | true 5 | 1671299262393 6 | 8 7 | 151 8 | 149 9 | 通知灵动岛 10 | 11 | 461 12 | 0 13 | 14 | com.tencent.mm.ui.LauncherUI 15 | com.tencent.mm 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 1666629243255 29 | 1671370532204 30 | 149 31 | 通知灵动岛 32 | 100 33 | 34 | 49 35 | false 36 | 灵动岛 37 | 38 | 39 | 547 40 | 41 | %island_left 42 | 50 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 547 51 | 52 | %island_top 53 | 50 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 547 62 | 63 | %island_type 64 | 通知 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 547 73 | 74 | %island_bg 75 | #000000 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 547 84 | 85 | %island_fontcolor 86 | #fff 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 547 95 | 96 | %island_origin 97 | top center 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 547 106 | 107 | %island_time 108 | 3000 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 47 117 | 灵动岛 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | mw_communication_message 131 | -16777216 132 | 133 | 134 | 135 | -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | -------------------------------------------------------------------------------- /三星 OneUI 切换即圈即搜源(百度|Google)/README.md: -------------------------------------------------------------------------------- 1 | 使用的命令: 2 | pm disable-user 'com.google.android.googlequicksearchbox' 3 | 4 | settings put secure cn_support_circe_to_search 0 5 | 6 | pm enable 'com.google.android.googlequicksearchbox' 7 | 8 | settings put secure cn_support_circe_to_search 1 9 | 10 | 任务也可以去我的 Github 项目下载(Github 搜索 fairyex),欢迎 Star。 11 | 12 | 优点: 13 | 14 | 快速直观,可以添加各种触发方式 15 | 切换为百度之后,谷歌搜索会被禁用,防止后台耗电 16 | 17 | 缺点: 18 | 19 | 手机需要 Root 或者非 Root 使用 Shizuku 20 | 要有脑子和手 21 | 没了 22 | 23 | 就这么多,使用三星的用户可以自己玩一下。 24 | -------------------------------------------------------------------------------- /三星 OneUI 切换即圈即搜源(百度|Google)/切换即圈即搜源.tsk.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1723122127141 4 | 1723963458637 5 | 135 6 | 切换即圈即搜源 7 | 100 8 | 9 | 512 10 | 11 | 12 | 13 | 378 14 | false 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 选择搜索源 24 | 百度,Google 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 123 34 | pm disable-user 'com.google.android.googlequicksearchbox' 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | %ld_selected_index 45 | 2 46 | 1 47 | 48 | 49 | 50 | 51 | 123 52 | settings put secure cn_support_circe_to_search 0 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | %ld_selected_index 63 | 2 64 | 1 65 | 66 | 67 | 68 | 69 | 123 70 | pm enable 'com.google.android.googlequicksearchbox' 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | Or 80 | 81 | %ld_selected_index 82 | 2 83 | 2 84 | 85 | 86 | %ld_selected_index 87 | 13 88 | 89 | 90 | 91 | 92 | 93 | 123 94 | settings put secure cn_support_circe_to_search 1 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | Or 104 | 105 | %ld_selected_index 106 | 2 107 | 2 108 | 109 | 110 | %ld_selected_index 111 | 13 112 | 113 | 114 | 115 | 116 | 117 | 548 118 | 已将搜索源设置为 %ld_selected 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | mw_action_search 137 | -16777216 138 | 139 | 140 | 141 | -------------------------------------------------------------------------------- /不同指纹解锁执行不同任务/README.md: -------------------------------------------------------------------------------- 1 | 2 | 不同指纹解锁执行不同任务 By sspai@fairyex 3 | -------------------------------------------------------------------------------- /不同指纹解锁执行不同任务/指纹解锁.prf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1575347939577 4 | true 5 | 1575348010243 6 | 8 7 | 3 8 | 5 9 | 指纹解锁 10 | 11 | 指纹解锁任务 By sspai@fairyex 12 |

false

13 | 14 |
15 | 16 | 2085 17 | 0 18 | 19 | 20 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%lc_text 21 | 文字 22 | The text that corresponds to the matched logcat entry</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0></StringArray> 23 | [Ljava.lang.String; 24 | 25 | 26 | FingerprintService 27 | onAuthenticated(owner=com.android.systemui, id=1821959201, gp=0) 28 | 29 |
30 | 31 | 1575347976287 32 | 1575348010243 33 | 5 34 | 支付宝付款码 35 | 36 | 104 37 | alipayqr://platformapi/startapp?saId=20000056 38 | 39 | 40 |
41 | -------------------------------------------------------------------------------- /保存哔哩哔哩视频封面/README.md: -------------------------------------------------------------------------------- 1 | 2 | https://sspai.com/prime/story/tasker-bilibili-cover-image 3 | 4 | > 由 Fairyex 制作,喜欢的朋友可以在各平台搜索并关注我。 5 | -------------------------------------------------------------------------------- /保存哔哩哔哩视频封面/保存哔哩哔哩封面.tsk.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1661234578068 4 | 1664517246917 5 | 41 6 | 保存哔哩哔哩封面 7 | 7 8 | 9 | false 10 | 粘贴哔哩哔哩视频地址一键保存高清哔哩哔哩视频封面。 11 | 12 | 由 Fairyex 制作,喜欢的朋友可以在各平台搜索并关注我。 13 | Files,Media,Utility 14 |

true

15 | 16 |
17 | 18 | 360 19 | 20 | false 21 | 22 | 23 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%input 24 | 输入 25 | 在对话框中被插入的文本</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0></StringArray> 26 | [Ljava.lang.String; 27 | 28 | 29 | 请粘贴哔哩哔哩视频地址 30 | 示例: 31 | https://www.bilibili.com/video/BV1KZ4y197Vq 32 | https://b23.tv/Wlo0T9W 33 | https://www.bilibili.com/video/BV1KZ4y197Vq 34 | 35 | 17 36 | 37 | 38 | 39 | 40 | 396 41 | 42 | 43 | 44 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%mt_match 45 | 匹配 46 | 也可以作为数组访问</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%mt_match_found 47 | 匹配 48 | 如果匹配则为真,否则为假</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%mt_groups() 49 | 组 50 | </_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2></StringArray> 51 | [Ljava.lang.String; 52 | 53 | 54 | 55 | %astext 56 | (https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|] 57 | 58 | 59 | 60 | 187 61 | Pictures/bili/%BILI_NAME.jpg 62 | 63 | 64 | 65 | 66 | 339 67 | 68 | 69 | 70 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%http_cookies 71 | Cookies 72 | 服务器在响应中以 "Cookie:COOKIE_VALUE" 格式发送的Cookie, 您可以直接在 "HTTP 请求" 操作的 "标头" 字段中使用它</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%http_response_code 73 | 响应代码 74 | 服务器响应的HTTP代码</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%http_response_length 75 | 响应长度 76 | 用bytes表示响应的大小</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%http_data 77 | 数据 78 | 服务器从HTTP request操作返回的数据</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4>%http_file_output 79 | 文件输出 80 | 即使您指定了文件保存的目录,也将始终包含文件的完整路径</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5>%http_headers() 81 | 请求头 82 | 服务器在响应中发送的 HTTP 标头,每个标头均采用 “键:值” ('key:value') 格式</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5></StringArray> 83 | [Ljava.lang.String; 84 | 85 | 86 | 87 | 88 | 89 | 90 | %mt_match 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 547 101 | 102 | %BILI_NAME 103 | %http_data.title_%TIMEMS 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 129 112 | 113 | setGlobal("BILI_NAME",global("BILI_NAME").replace(/[\/:*?"<>|]/g,"_")); 114 | 115 | 116 | 117 | 118 | 119 | 396 120 | 121 | 122 | 123 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%mt_match 124 | 匹配 125 | 也可以作为数组访问</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%mt_match_found 126 | 匹配 127 | 如果匹配则为真,否则为假</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%mt_groups() 128 | 组 129 | </_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2></StringArray> 130 | [Ljava.lang.String; 131 | 132 | 133 | 134 | %http_data 135 | (http://i)[\d]+(.hdslb.com/bfs/archive/)[\S]+(.jpg) 136 | 137 | 138 | 139 | 339 140 | 141 | 142 | 143 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%http_cookies 144 | Cookies 145 | 服务器在响应中以 "Cookie:COOKIE_VALUE" 格式发送的Cookie, 您可以直接在 "HTTP 请求" 操作的 "标头" 字段中使用它</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%http_response_code 146 | 响应代码 147 | 服务器响应的HTTP代码</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%http_response_length 148 | 响应长度 149 | 用bytes表示响应的大小</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%http_file_output 150 | 文件输出 151 | 即使您指定了文件保存的目录,也将始终包含文件的完整路径</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4>%http_headers() 152 | 请求头 153 | 服务器在响应中发送的 HTTP 标头,每个标头均采用 “键:值” ('key:value') 格式</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4></StringArray> 154 | [Ljava.lang.String; 155 | 156 | 157 | 158 | 159 | 160 | 161 | %mt_match 162 | 163 | 164 | 165 | 166 | Pictures/bili/%BILI_NAME.jpg 167 | 168 | 169 | 170 | 171 | 459 172 | 173 | Pictures/bili/%BILI_NAME.jpg 174 | 175 | 176 | 548 177 | 178 | %BILI_NAME.jpg 保存成功 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 188 196 | 197 | Pictures/bili/%BILI_NAME.jpg 198 | 199 | 200 | 201 | 202 | 203 | mw_notification_ondemand_video 204 | -16777216 205 | 206 |
207 |
208 | -------------------------------------------------------------------------------- /自动复制输入验证码/复制验证码.tsk.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1526529181306 4 | 1526529660326 5 | 69 6 | 复制验证码 7 | 100 8 | 9 | 37 10 | 11 | 12 | %SMSRB 13 | 4 14 | 验证 15 | 16 | 17 | 18 | 19 | 547 20 | %YZM 21 | %SMSRB 22 | 23 | 24 | 25 | 26 | 27 | 598 28 | %YZM 29 | [\d]{6}|[\d]{4} 30 | 31 | 32 | 33 | %YZM 34 | 35 | 36 | 37 | 38 | 548 39 | 验证码 %YZM1 已复制到剪贴板 40 | 41 | 42 | 43 | 105 44 | %YZM1 45 | 46 | 47 | 48 | 702 49 | %YZM1 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /自动复制输入验证码/收到验证码短信.prf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1526532439461 4 | 1526532478505 5 | 74 6 | 73 7 | 收到验证码短信 8 | 9 | 7 10 | 0 11 | 12 | 13 | 14 | 15 | 16 | 17 | 1526529181306 18 | 1526529660326 19 | 73 20 | 复制验证码 21 | 100 22 | 23 | 37 24 | 25 | 26 | %SMSRB 27 | 4 28 | 验证 29 | 30 | 31 | 32 | 33 | 547 34 | %YZM 35 | %SMSRB 36 | 37 | 38 | 39 | 40 | 41 | 598 42 | %YZM 43 | [\d]{6}|[\d]{4} 44 | 45 | 46 | 47 | %YZM 48 | 49 | 50 | 51 | 52 | 548 53 | 验证码 %YZM1 已复制到剪贴板 54 | 55 | 56 | 57 | 105 58 | %YZM1 59 | 60 | 61 | 62 | 702 63 | %YZM1 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /自动复制输入验证码/最后附上制作过程视频演示: -------------------------------------------------------------------------------- 1 | ### 完整制作过程视频演示 2 | 3 | https://www.bilibili.com/video/av23545812/ 4 | -------------------------------------------------------------------------------- /自动时间记录/Inoreader_自动时间记录.prf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1568790583430 4 | 1568790297799 5 | 93 6 | 91 7 | 92 8 | Inoreader 自动时间记录 9 | 10 | 以 Inoreader 为例的自动时间记录 11 | 少数派 @Fairye 12 | 13 | 14 | 15 | com.innologica.inoreader.activities.BootstrapActivity 16 | 2 17 | Inoreader 18 | com.innologica.inoreader 19 | 20 | 21 | 22 | 1568640053672 23 | 1568790604146 24 | 91 25 | Toggl 计时 26 | 27 | 548 28 | Toggl 计时开始 29 | 30 | 31 | 32 | 547 33 | 34 | %AUTHCODE 35 | 请将这里替换为你自己的 API Key 36 | 37 | 38 | 39 | 40 | 41 | 42 | 547 43 | 44 | %TASKNAME 45 | Inoreader 开始阅读 46 | 47 | 48 | 49 | 50 | 51 | 52 | 339 53 | 54 | 55 | 56 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%http_data 57 | 数据 58 | Data that the server responded from the HTTP request.</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%http_response_code 59 | Response Code 60 | The HTTP Code the server responded</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%http_headers() 61 | Response Headers 62 | The HTTP Headers the server sent in the response. Each header is in the 'key:value' format</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%http_response_length 63 | Response Length 64 | The size of the response in bytes</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3></StringArray> 65 | [Ljava.lang.String; 66 | 67 | 68 | 69 | https://www.toggl.com/api/v8/time_entries/start 70 | Authorization:%AUTHCODE 71 | Content-Type:application/json 72 | 73 | {"time_entry":{"description":"%TASKNAME","pid":"","created_with":"Tasker"}} 74 | 75 | 76 | 77 | 78 | 79 | 80 | 547 81 | %TASKDATA 82 | %http_data 83 | 84 | 85 | 86 | 87 | 88 | 89 | 129 90 | 91 | var i = JSON.parse(global("TASKDATA")); 92 | setGlobal("TASKID",i.data.id); 93 | exit(); 94 | 95 | 96 | 97 | 98 | 99 | 100 | 1568647103295 101 | 1568790279655 102 | 92 103 | Toggl 停止计时 104 | 1006 105 | 106 | 548 107 | Toggl 计时停止 108 | 109 | 110 | 111 | 547 112 | 113 | %AUTHCODE 114 | 请将这里替换为你自己的 API Key 115 | 116 | 117 | 118 | 119 | 120 | 121 | 339 122 | 123 | 124 | 125 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%http_data 126 | 数据 127 | Data that the server responded from the HTTP request.</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%http_response_code 128 | Response Code 129 | The HTTP Code the server responded</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%http_headers() 130 | Response Headers 131 | The HTTP Headers the server sent in the response. Each header is in the 'key:value' format</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%http_response_length 132 | Response Length 133 | The size of the response in bytes</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3></StringArray> 134 | [Ljava.lang.String; 135 | 136 | 137 | 138 | https://www.toggl.com/api/v8/time_entries/%TASKID/stop 139 | Authorization:%AUTHCODE 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | -------------------------------------------------------------------------------- /跨平台多设备同步剪贴板/README.md: -------------------------------------------------------------------------------- 1 | https://sspai.com/u/fairyex/posts 2 | 3 | 由 Fairyex 制作,喜欢的朋友可以在各平台搜索并关注我。 4 | -------------------------------------------------------------------------------- /跨平台多设备同步剪贴板/分享文件数据到_Windows_剪贴板.prf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1667631562200 4 | true 5 | 1674022279822 6 | 8 7 | 122 8 | 124 9 | 分享文件数据到 Windows 剪贴板 10 | 11 | false 12 | 分享非文本数据到远程设备剪贴板 13 | 14 | 相关使用方法和文章可以参考 Fairyex 在少数派的文章 15 | Clipboard,Utility 16 |

true

17 | 18 |
19 | 20 | 580953799 21 | 0 22 | 23 | 24 | Command: 发送到电脑 25 | Sender: all 26 | Subject: all 27 | Text: all 28 | File: all 29 | java.lang.String 30 | false 31 | java.lang.Boolean 32 | false 33 | java.lang.Boolean 34 | false 35 | java.lang.Boolean 36 | 发送到电脑 37 | java.lang.String 38 | false 39 | java.lang.Boolean 40 | false 41 | java.lang.Boolean 42 | false 43 | java.lang.Boolean 44 | <null> 45 | java.lang.String 46 | false 47 | java.lang.Boolean 48 | false 49 | java.lang.Boolean 50 | false 51 | java.lang.Boolean 52 | <null> 53 | java.lang.String 54 | <null> 55 | java.lang.String 56 | true 57 | java.lang.Boolean 58 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%ascommand 59 | Selected Command 60 | </_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%asfile() 61 | Shared Files 62 | </_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%assubject 63 | Shared Subject 64 | </_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%astext 65 | Shared Text 66 | </_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3></StringArray> 67 | [Ljava.lang.String; 68 | 0 69 | java.lang.Integer 70 | configcommand plugininstanceid plugintypeid 71 | java.lang.String 72 | true 73 | java.lang.Boolean 74 | 672aa90a-8df7-4a75-82d1-b59e97dbb5bc 75 | java.lang.String 76 | com.joaomgcd.autoshare.intent.IntentReceiveShareEvent 77 | java.lang.String 78 | 79 | 80 | com.joaomgcd.autoshare 81 | com.joaomgcd.autoshare.activity.ActivityConfigReceiveShareEvent 82 | 83 | 84 |
85 | 86 | 1667631801125 87 | 1674022266357 88 | 124 89 | 6 90 | 91 | 105 92 | false 93 | %astext 94 | 95 | 96 | 97 | 98 | %astext 99 | 12 100 | 101 | 102 | 103 | 104 | 105 | 130 106 | 同步 Windows 剪贴板 107 | 108 | %priority 109 | 110 | 111 | 发送 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | %astext 122 | 12 123 | 124 | 125 | 126 | 127 | 128 | 130 129 | 同步 Windows 剪贴板 130 | 131 | %priority 132 | 133 | 134 | 发送 135 | %asfile(1) 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | %asfile(1) 145 | 12 146 | 147 | 148 | 149 | 150 | 151 |
152 | -------------------------------------------------------------------------------- /跨平台多设备同步剪贴板/同步_Windows_剪贴板.tsk.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1640863232393 4 | 1674022416896 5 | 105 6 | 同步 Windows 剪贴板 7 | 100 8 | 9 | false 10 | 与Windows分享剪贴板 11 | 使用说明:https://github.com/YanxinTang/clipboard-online 12 | 13 | Fairyex 修改 14 | Utility 15 |

true

16 | 17 |
18 | 19 | 378 20 | 21 | 22 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%ld_selected 23 | 已选择 24 | </_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%ld_button 25 | 按钮 26 | 被点击按钮的标签</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%ld_selected_index 27 | 被选择的索引值 28 | </_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%ld_long 29 | 长 30 | 如果项目被长按,则为 true;否则为 false</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3></StringArray> 31 | [Ljava.lang.String; 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | Clipboard-online 40 | 获取,发送 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | %par1 50 | 13 51 | 52 | 53 | 54 | 55 | 56 | 547 57 | %ld_selected 58 | %par1 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | %par1 67 | 12 68 | 69 | 70 | 71 | 72 | 73 | 598 74 | %cliptext 75 | \r|\n 76 | 77 | 78 | 79 | 80 | 81 | \\n 82 | 83 | 84 | 339 85 | 86 | 87 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%http_cookies 88 | Cookies 89 | 服务器在响应中以 "Cookie:COOKIE_VALUE" 格式发送的Cookie, 您可以直接在 "HTTP 请求" 操作的 "标头" 字段中使用它</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%http_response_code 90 | 响应代码 91 | 服务器响应的HTTP代码</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%http_response_length 92 | 响应长度 93 | 用bytes表示响应的大小</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%http_data 94 | 数据 95 | 服务器从HTTP request操作返回的数据</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4>%http_file_output 96 | 文件输出 97 | 即使您指定了文件保存的目录,也将始终包含文件的完整路径</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5>%http_headers() 98 | 请求头 99 | 服务器在响应中发送的 HTTP 标头,每个标头均采用 “键:值” ('key:value') 格式</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5></StringArray> 100 | [Ljava.lang.String; 101 | 102 | 103 | 104 | 105 | 106 | 107 | %url 108 | X-API-Version:1 109 | X-Client-Name:Android 110 | X-Content-Type:text 111 | X-Auth:%auth 112 | 113 | { 114 | "data": "%cliptext" 115 | } 116 | 117 | 118 | 119 | 120 | 121 | 122 | 43 123 | 124 | 125 | 548 126 | 正在将文件发送到远程设备剪贴板 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 342 144 | 145 | %par2 146 | %file_name 147 | 148 | 149 | 150 | 151 | 342 152 | 153 | %par2 154 | %file 155 | 156 | 157 | 158 | 159 | 339 160 | 161 | 162 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%http_cookies 163 | Cookies 164 | 服务器在响应中以 "Cookie:COOKIE_VALUE" 格式发送的Cookie, 您可以直接在 "HTTP 请求" 操作的 "标头" 字段中使用它</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%http_response_code 165 | 响应代码 166 | 服务器响应的HTTP代码</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%http_response_length 167 | 响应长度 168 | 用bytes表示响应的大小</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%http_data 169 | 数据 170 | 服务器从HTTP request操作返回的数据</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4>%http_file_output 171 | 文件输出 172 | 即使您指定了文件保存的目录,也将始终包含文件的完整路径</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5>%http_headers() 173 | 请求头 174 | 服务器在响应中发送的 HTTP 标头,每个标头均采用 “键:值” ('key:value') 格式</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5></StringArray> 175 | [Ljava.lang.String; 176 | 177 | 178 | 179 | 180 | 181 | 182 | %url 183 | X-API-Version:1 184 | X-Client-Name:Android 185 | X-Content-Type:file 186 | X-Auth:%auth 187 | 188 | { 189 | "data": [ 190 | { 191 | "name": "%file_name", 192 | "base64": "%file" 193 | } 194 | ] 195 | } 196 | 197 | 198 | 199 | 200 | 201 | 202 | 38 203 | 204 | 205 | 548 206 | 发送成功 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 43 224 | 225 | 226 | 547 227 | %url 228 | http://192.168.10.27:8086 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 548 237 | 正在获取远程设备剪贴板内容 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 339 255 | 256 | 257 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%http_cookies 258 | Cookies 259 | 服务器在响应中以 "Cookie:COOKIE_VALUE" 格式发送的Cookie, 您可以直接在 "HTTP 请求" 操作的 "标头" 字段中使用它</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%http_response_code 260 | 响应代码 261 | 服务器响应的HTTP代码</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%http_response_length 262 | 响应长度 263 | 用bytes表示响应的大小</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%http_data 264 | 数据 265 | 服务器从HTTP request操作返回的数据</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4>%http_file_output 266 | 文件输出 267 | 即使您指定了文件保存的目录,也将始终包含文件的完整路径</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5>%http_headers() 268 | 请求头 269 | 服务器在响应中发送的 HTTP 标头,每个标头均采用 “键:值” ('key:value') 格式</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5></StringArray> 270 | [Ljava.lang.String; 271 | 272 | 273 | 274 | 275 | 276 | 277 | %url 278 | X-API-Version:1 279 | X-Client-Name:Android 280 | X-Auth:%auth 281 | 282 | { 283 | "data": "%CLIP" 284 | } 285 | 286 | 287 | 288 | 289 | 290 | 291 | 37 292 | 293 | 294 | %http_data[type] 295 | 2 296 | text 297 | 298 | 299 | 300 | 301 | 105 302 | %http_data[data] 303 | 304 | 305 | 306 | 307 | 548 308 | %http_data[data] 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 43 326 | 327 | 328 | %http_data[type] 329 | 2 330 | file 331 | 332 | 333 | 334 | 335 | 410 336 | Download/clipboard-online 337 | %http_data[content] 338 | 339 | 340 | 341 | 342 | 123 343 | base64 -d /storage/emulated/0/Download/clipboard-online > "/storage/emulated/0/Download/%http_data[name]" 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 406 354 | Download/clipboard-online 355 | 356 | 357 | 358 | 359 | 360 | 548 361 | 已保存 %http_data[name] 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 547 379 | %key 380 | fairyex 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 38 389 | 390 | 391 | 38 392 | 393 | 394 | 123 395 | a=("%key."$(($(date +%s)/30))) 396 | echo -n "$a" | md5sum | cut -d " " -f1 397 | 398 | 399 | %auth 400 | 401 | 402 | 403 | 404 | 405 | 406 | 37 407 | 408 | 409 | %ld_selected 410 | 2 411 | 发送 412 | 413 | 414 | 415 | 416 | 37 417 | 418 | 419 | %par2 420 | 13 421 | 422 | 423 | 424 | 425 | 426 | 547 427 | %cliptext 428 | %CLIP 429 | 430 | 431 | 432 | 433 | 434 | 435 | 436 | 598 437 | %cliptext 438 | \\ 439 | 440 | 441 | 442 | 443 | 444 | \\\\ 445 | 446 | 447 | 598 448 | %cliptext 449 | " 450 | 451 | 452 | 453 | 454 | 455 | \\" 456 | 457 | 458 | mw_action_assignment 459 | 460 |
461 |
462 | -------------------------------------------------------------------------------- /跨平台多设备同步剪贴板/同步文字到_Windows_剪贴板.prf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1667635603113 4 | true 5 | 1674020917879 6 | 8 7 | 125 8 | 126 9 | 同步文字到 Windows 剪贴板 10 | 11 | false 12 | 在剪贴板改变时同步文本剪贴板数据到远程设备 13 | 14 | 相关使用方法和文章可以参考 Fairyex 在少数派的文章 15 | Clipboard,Utility 16 |

true

17 | 18 |
19 | 20 | 2097 21 | 0 22 | 23 | 24 | <StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%cl_html_text 25 | HTML 文本 26 | 当前剪贴板文本(若设置为 HTML 文本)</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%cl_mimetypes() 27 | Mime 类型 28 | 剪贴板包含的数据类型</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%cl_uri 29 | URI 30 | 当前剪贴板 URI(可以是图片或其他内容)</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%cl_extras 31 | 其他 32 | 剪贴板可能包含的 JSON 格式中的可选额外信息</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4>%cl_image_uri 33 | 图片 URI 34 | 如果 URI 对应于一张图片,这将具有一个值</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5>%cl_text 35 | 文字 36 | 当前剪贴板文本</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5></StringArray> 37 | [Ljava.lang.String; 38 | 39 | 40 | 41 | 42 |
43 | 44 | 1667635606599 45 | 1674020907520 46 | 126 47 | 6 48 | 49 | 130 50 | 同步 Windows 剪贴板 51 | 52 | %priority 53 | 54 | 55 | 发送 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
66 | -------------------------------------------------------------------------------- /跨平台多设备同步剪贴板/获取_Windows_剪贴板.tsk.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1667635169567 4 | 1673317332056 5 | 121 6 | 获取 Windows 剪贴板 7 | 100 8 | 9 | false 10 | 获取远程设备的剪贴板数据 11 | 12 | 相关使用方法和文章可以参考 Fairyex 在少数派的文章 13 | Clipboard,Utility 14 |

true

15 | 16 |
17 | 18 | 130 19 | 同步 Windows 剪贴板 20 | 21 | %priority 22 | 23 | 24 | 获取 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | mw_action_assignment 35 | -16777216 36 | 37 |
38 |
39 | --------------------------------------------------------------------------------