Nodes and media
Lệnh vị trí
Tóm tắt
location.getlà một lệnh của Node, được gọi quanode.invokehoặcopenclaw nodes location get.- Mặc định tắt.
- Các bản dựng Android của bên thứ ba sử dụng bộ chọn: Tắt / Khi đang sử dụng / Luôn luôn. Các bản dựng Play vẫn chỉ có Tắt / Khi đang sử dụng.
- Vị trí chính xác là một nút bật/tắt riêng.
Tại sao dùng bộ chọn (thay vì chỉ dùng công tắc)
Quyền truy cập vị trí của hệ điều hành có nhiều cấp độ. Vị trí chính xác cũng là một quyền cấp riêng của hệ điều hành (iOS 14+ là "Chính xác", Android là "fine" so với "coarse"). Bộ chọn trong ứng dụng xác định chế độ được yêu cầu, nhưng hệ điều hành vẫn quyết định quyền thực tế được cấp.
Mô hình cài đặt
Theo từng thiết bị Node:
location.enabledMode:off | whileUsing | alwayslocation.preciseEnabled: bool
Hành vi giao diện người dùng:
- Chọn
whileUsingsẽ yêu cầu quyền truy cập khi ứng dụng ở nền trước. - Khi chọn
always, bản dựng Android của bên thứ ba trước tiên yêu cầu quyền truy cập khi ứng dụng ở nền trước, giải thích về quyền truy cập trong nền, rồi mở phần cài đặt ứng dụng Android để cấp riêng quyền Allow all the time. - Các bản dựng Android Play không khai báo quyền truy cập vị trí trong nền hoặc hiển thị
always. - Nếu hệ điều hành từ chối cấp độ được yêu cầu, ứng dụng sẽ quay về cấp độ cao nhất đã được cấp và hiển thị trạng thái.
Ánh xạ quyền (node.permissions)
Không bắt buộc. Node macOS báo cáo location qua ánh xạ permissions trên node.list/node.describe; iOS/Android có thể bỏ qua thông tin này.
Lệnh: location.get
Được gọi qua node.invoke hoặc trình hỗ trợ CLI:
openclaw nodes location get --node <idOrNameOrIp>openclaw nodes location get --node <idOrNameOrIp> --accuracy precise --max-age 15000 --location-timeout 10000Tham số:
{ "timeoutMs": 10000, "maxAgeMs": 15000, "desiredAccuracy": "coarse|balanced|precise"}Các cờ CLI ánh xạ trực tiếp như sau: --location-timeout -> timeoutMs, --max-age -> maxAgeMs, --accuracy -> desiredAccuracy.
Dữ liệu phản hồi:
{ "lat": 48.20849, "lon": 16.37208, "accuracyMeters": 12.5, "altitudeMeters": 182.0, "speedMps": 0.0, "headingDeg": 270.0, "timestamp": "2026-01-03T12:34:56.000Z", "isPrecise": true, "source": "gps|wifi|cell|unknown"}Lỗi (mã ổn định):
LOCATION_DISABLED: bộ chọn đang tắt.LOCATION_PERMISSION_REQUIRED: thiếu quyền cho chế độ được yêu cầu.LOCATION_BACKGROUND_UNAVAILABLE: ứng dụng đang chạy trong nền nhưng chỉ được cấp quyền Khi đang sử dụng.LOCATION_TIMEOUT: không xác định được vị trí kịp thời.LOCATION_UNAVAILABLE: lỗi hệ thống hoặc không có nhà cung cấp vị trí.
Hành vi trong nền
- Các bản dựng Android của bên thứ ba chỉ chấp nhận
location.gettrong nền khi người dùng chọnAlwaysvà Android đã cấp quyền truy cập vị trí trong nền. Dịch vụ Node liên tục hiện có sẽ thêm loại dịch vụlocationvà hiển thịLocation: Alwayskhi đang hoạt động. - Các bản dựng Android Play và chế độ
While Usingtừ chốilocation.getkhi ứng dụng chạy trong nền. - Các nền tảng Node khác có thể hoạt động khác.
Tích hợp mô hình/công cụ
- Công cụ của tác tử: hành động
location_getcủa công cụnodes(bắt buộc có Node). - CLI:
openclaw nodes location get --node <id>. - Hướng dẫn dành cho tác tử: chỉ gọi khi người dùng đã bật vị trí và hiểu phạm vi chia sẻ.
Nội dung UX (đề xuất)
- Tắt: "Tính năng chia sẻ vị trí đã bị tắt."
- Khi đang sử dụng: "Chỉ khi OpenClaw đang mở."
- Luôn luôn: "Cho phép kiểm tra vị trí theo yêu cầu khi OpenClaw đang chạy trong nền."
- Chính xác: "Sử dụng vị trí GPS chính xác. Tắt tùy chọn này để chia sẻ vị trí gần đúng."
Liên quan
Was this useful?