Nodes and media
Konum komutu
Kısaca
location.get,node.invokeveyaopenclaw nodes location getaracılığıyla çağrılan bir Node komutudur.- Varsayılan olarak kapalıdır.
- Android üçüncü taraf derlemeleri bir seçici kullanır: Kapalı / Kullanırken / Her Zaman. Play derlemelerinde Kapalı / Kullanırken seçenekleri bulunmaya devam eder.
- Hassas Konum ayrı bir açma/kapama seçeneğidir.
Neden yalnızca anahtar değil de seçici kullanılıyor?
İşletim sistemi konum izinleri birden çok düzeye sahiptir. Hassas konum da ayrı bir işletim sistemi iznidir (iOS 14+ sürümlerinde "Hassas", Android'de "ince" ve "kaba"). Uygulama içi seçici, istenen modu belirler ancak verilecek gerçek izne yine işletim sistemi karar verir.
Ayarlar modeli
Her Node cihazı için:
location.enabledMode:off | whileUsing | alwayslocation.preciseEnabled: bool
Kullanıcı arayüzü davranışı:
whileUsingseçildiğinde ön plan izni istenir.- Android üçüncü taraf derlemesinde
alwaysseçildiğinde önce ön plan izni istenir, arka plan erişimi açıklanır ve ardından ayrı Allow all the time izni için Android uygulama ayarları açılır. - Android Play derlemeleri arka planda konum iznini bildirmez veya
alwaysseçeneğini göstermez. - İşletim sistemi istenen düzeyi reddederse uygulama, izin verilen en yüksek düzeye geri döner ve durumu gösterir.
İzin eşlemesi (node.permissions)
İsteğe bağlıdır. macOS Node'u, node.list/node.describe üzerindeki permissions eşlemesi aracılığıyla location değerini bildirir; iOS/Android bunu atlayabilir.
Komut: location.get
node.invoke veya CLI yardımcısı aracılığıyla çağrılır:
openclaw nodes location get --node <idOrNameOrIp>openclaw nodes location get --node <idOrNameOrIp> --accuracy precise --max-age 15000 --location-timeout 10000Parametreler:
{ "timeoutMs": 10000, "maxAgeMs": 15000, "desiredAccuracy": "coarse|balanced|precise"}CLI bayrakları doğrudan eşlenir: --location-timeout -> timeoutMs, --max-age -> maxAgeMs, --accuracy -> desiredAccuracy.
Yanıt yükü:
{ "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"}Hatalar (kararlı kodlar):
LOCATION_DISABLED: seçici kapalıdır.LOCATION_PERMISSION_REQUIRED: istenen mod için gerekli izin eksiktir.LOCATION_BACKGROUND_UNAVAILABLE: uygulama arka plandadır ancak yalnızca Kullanırken izni verilmiştir.LOCATION_TIMEOUT: zamanında konum belirlenemedi.LOCATION_UNAVAILABLE: sistem hatası oluştu veya kullanılabilir sağlayıcı yok.
Arka plan davranışı
- Android üçüncü taraf derlemeleri, arka plandaki
location.getçağrısını yalnızca kullanıcıAlwaysseçeneğini belirlediğinde ve Android arka planda konum izni verdiğinde kabul eder. Mevcut kalıcı Node hizmeti,locationhizmet türünü ekler ve etkinkenLocation: Alwaysifadesini gösterir. - Android Play derlemeleri ve
While Usingmodu, uygulama arka plandaykenlocation.getçağrısını reddeder. - Diğer Node platformlarında davranış farklı olabilir.
Model/araç entegrasyonu
- Aracı aracı:
nodesaracınınlocation_geteylemi (Node gereklidir). - CLI:
openclaw nodes location get --node <id>. - Aracı yönergeleri: yalnızca kullanıcı konumu etkinleştirmiş ve kapsamını anlamışsa çağırın.
Kullanıcı deneyimi metni (önerilen)
- Kapalı: "Konum paylaşımı devre dışı."
- Kullanırken: "Yalnızca OpenClaw açıkken."
- Her Zaman: "OpenClaw arka plandayken istenen konum denetimlerine izin ver."
- Hassas: "Hassas GPS konumunu kullan. Yaklaşık konum paylaşmak için kapatın."
İlgili
Was this useful?