Nodes and media
Perintah lokasi
Ringkasan
location.getadalah perintah node yang dipanggil melaluinode.invokeatauopenclaw nodes location get.- Dinonaktifkan secara default.
- Build Android pihak ketiga menggunakan pemilih: Nonaktif / Saat Digunakan / Selalu. Build Play tetap menggunakan Nonaktif / Saat Digunakan.
- Lokasi Akurat merupakan pengalih terpisah.
Mengapa menggunakan pemilih (bukan sekadar pengalih)
Izin lokasi OS memiliki beberapa tingkat. Lokasi akurat juga merupakan izin OS yang terpisah (iOS 14+ "Precise", Android "fine" dibandingkan dengan "coarse"). Pemilih dalam aplikasi menentukan mode yang diminta, tetapi OS tetap menentukan izin yang benar-benar diberikan.
Model pengaturan
Per perangkat node:
location.enabledMode:off | whileUsing | alwayslocation.preciseEnabled: bool
Perilaku UI:
- Memilih
whileUsingakan meminta izin latar depan. - Memilih
alwaysdalam build Android pihak ketiga akan terlebih dahulu meminta izin latar depan, menjelaskan akses latar belakang, lalu membuka pengaturan aplikasi Android untuk izin Allow all the time yang terpisah. - Build Android Play tidak mendeklarasikan izin lokasi latar belakang atau menampilkan
always. - Jika OS menolak tingkat yang diminta, aplikasi kembali ke tingkat tertinggi yang diberikan dan menampilkan status.
Pemetaan izin (node.permissions)
Opsional. Node macOS melaporkan location melalui peta permissions pada node.list/node.describe; iOS/Android dapat menghilangkannya.
Perintah: location.get
Dipanggil melalui node.invoke, atau pembantu CLI:
openclaw nodes location get --node <idOrNameOrIp>openclaw nodes location get --node <idOrNameOrIp> --accuracy precise --max-age 15000 --location-timeout 10000Parameter:
{ "timeoutMs": 10000, "maxAgeMs": 15000, "desiredAccuracy": "coarse|balanced|precise"}Flag CLI dipetakan secara langsung: --location-timeout -> timeoutMs, --max-age -> maxAgeMs, --accuracy -> desiredAccuracy.
Payload respons:
{ "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"}Kesalahan (kode stabil):
LOCATION_DISABLED: pemilih dinonaktifkan.LOCATION_PERMISSION_REQUIRED: izin untuk mode yang diminta belum diberikan.LOCATION_BACKGROUND_UNAVAILABLE: aplikasi berada di latar belakang, tetapi hanya izin Saat Digunakan yang diberikan.LOCATION_TIMEOUT: lokasi tidak diperoleh tepat waktu.LOCATION_UNAVAILABLE: kegagalan sistem atau tidak ada penyedia.
Perilaku latar belakang
- Build Android pihak ketiga menerima
location.getdi latar belakang hanya jika pengguna memilihAlwaysdan Android memberikan izin lokasi latar belakang. Layanan node persisten yang sudah ada menambahkan jenis layananlocationdan menampilkanLocation: Alwayssaat aktif. - Build Android Play dan mode
While Usingmenolaklocation.getsaat berada di latar belakang. - Platform node lainnya mungkin berbeda.
Integrasi model/peralatan
- Alat agen: tindakan
location_getmilik alatnodes(node wajib ditentukan). - CLI:
openclaw nodes location get --node <id>. - Panduan agen: hanya panggil jika pengguna telah mengaktifkan lokasi dan memahami cakupannya.
Teks UX (disarankan)
- Nonaktif: "Berbagi lokasi dinonaktifkan."
- Saat Digunakan: "Hanya saat OpenClaw terbuka."
- Selalu: "Izinkan pemeriksaan lokasi yang diminta saat OpenClaw berada di latar belakang."
- Akurat: "Gunakan lokasi GPS yang akurat. Nonaktifkan untuk membagikan perkiraan lokasi."
Terkait
Was this useful?