Tasker Location 与 Media 动作详解 精准定位与媒体播放控制
Location:主动定位
Location 类的动作与 Location Context 配合使用——Context 被动监听位置变化,Location 动作主动请求定位。
核心动作
| 动作 | 功能 | 耗电 |
|---|---|---|
| Get Location | 获取当前 GPS 坐标 | 高(需主动请求 GPS) |
| Get Location Provider | 获取网络定位坐标 | 中(可用 Wi-Fi + 基站) |
| Stop Location | 停止持续定位 | —— |
| Get Cell Location | 获取基站粗略坐标 | 低(被动监听) |
| Wait For Location | 等待到足够精确的 GPS 信号 | 中 |
Get Location 的参数
GPS vs 网络定位:
- GPS 精度 5-50 米,首次定位可能需要 10-30 秒
- 网络定位精度 50-500 米,首次定位通常 5 秒内完成
- 推荐先用网络定位做粗筛,需要精确坐标时再请求 GPS
精度阈值:
- 设置"只有精度达到 N 米以内才返回",否则持续等待
- 如果设置过低(< 10 米),在室内可能永远等不到
位置记录场景
"停车后自动记住位置":
Event:Bluetooth Disconnected → 车载蓝牙设备
Task:
1. Get Location → 等待精度 < 20 米
2. Variable Set %ParkLoc, %LOC
3. Variable Set %ParkTime, %TIME
4. Notify(常驻)→ "车停在 %LOC,停车时间 %TIME"
5. Show on Map → 导航到停车位置(点击通知时)
Media:媒体播放与采集
Media 类是 Tasker 与音乐、视频、相机、麦克风交互的全部动作集合。
播放控制
| 动作 | 功能 | 说明 |
|---|---|---|
| Media Play/Pause | 播放或暂停 | 控制当前活跃的媒体会话 |
| Media Next Track | 下一首 | —— |
| Media Previous Track | 上一首 | —— |
| Media Stop | 停止 | —— |
| Search Media | 搜索媒体 | 可以指定 App + 关键字 |
| Send Media Button | 模拟媒体按键 | 兼容不响应标准媒体会话的老 App |
| Set Volume | 媒体音量 | 等价于 Audio → Media Volume |
媒体控制的前提:
- 目标 App 必须注册了 Media Session(大部分主流音乐 App 都支持)
- 某些 App 在后台时 Media Session 可能失效
- Tasker 6.0+ 新增的 Get Screen Info 动作可以读取当前屏幕显示的 App(包括媒体 App),用于精准判断
拍照与录像
| 动作 | 功能 | 说明 |
|---|---|---|
| Take Photo | 拍照 | 选择前/后摄像头,指定保存路径 |
| Take Photo Series | 定时连拍 | 可以设置拍摄间隔,实现延时摄影 |
| Start Recording | 开始录像 | 输出文件路径 + 分辨率 |
| Stop Recording | 停止录像 | —— |
Take Photo 的权限要求:
- Camera 权限(Android 11+ 运行时权限)
- 存储权限(保存到 SD 卡需要)
- 某些 OEM 需要手动在"权限管理"里给 Tasker 摄像头权限
连拍实现延时摄影:
Profile:延时摄影(手动触发)
State:Variable Value %StartTimelapse = 1
Task:
循环 60 次:
1. Take Photo → 存到指定目录
2. Wait → 10 秒
然后用 Task 的 For/End For 或 Goto 实现循环(见 流程控制)。
录音
| 动作 | 功能 |
|---|---|
| Record Voice | 开始录制音频到指定文件 |
| Stop Recording | 停止录音 |
注意:
- 需要 Microphone 权限(运行时权限)
- Android 10+ 的后台录音有严格限制——App 不在前台时录音只能持续很短时间
- 通话录音需要额外的 ANNOUNCE 权限(部分地区法律要求告知对方)
语音合成(TTS)
Media 类中还有一个强大的 Say 动作——让 Tasker 朗读一段文字:
Say "当前电量 %BATT %,正在执行你的晚间自动化"
应用场景:
- 屏幕关闭时收到通知,Tasker 用 TTS 朗读内容
- 车载模式下,到达导航目的地时朗读提示
- 低电量时语音提醒
Say 的参数:
- 语音引擎:选择系统 TTS 引擎(Google、三星、小爱等)
- 语速 / 音调:正常 / 快 / 慢
- 等待朗读完成:选中后 Task 会等到朗读完才继续后续 Action
- 是否打断当前媒体:朗读时暂停音乐
Media + Location 组合场景
"到地方自动停止音乐":
State:Location → 公司,半径 100 米(Enter 执行)
AND
State:Media Playing → 是
Enter Task:
1. Media Stop
2. Say "已到达公司,音乐已停止"
3. Bluetooth Volume → +20%(准备开会前调高耳麦音量)
截图与录屏(进阶)
Tasker 没有内置的"截屏"动作,但可以通过以下方式实现:
- 截图动作:需要 Device Owner 权限(v6.3+ 新增)
- Shell Command:
input keyevent KEYCODE_SCREENSHOT(需要 Root 或 ADB) - Accessibility Service:Tasker 本身辅助功能可以截屏(需要在首选项开启辅助功能)
如果需要把截图保存到变量,可以:
- 执行截图动作 → 存到固定路径
- File → Read File → 读取图片到变量(Base64 格式)