问题标签 [android-geofence]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 地理围栏 API 触发器已在区域中时进入事件
我在使用最新的 Android Geofence API 时遇到了这个问题。用法与示例用法完全相同。我设置Geofence.GEOFENCE_TRANSITION_ENTER
了半径为 500m 的类型地理围栏,到期时间为Geofence.NEVER_EXPIRE
. 这工作正常,但如果我距离经度约 10 米,并且我设置了地理围栏,它会立即触发。
所以我在这里理解这个词是Geofence.GEOFENCE_TRANSITION_ENTER
不是错误的,它不应该只在我们在区域外并进入它时触发,而不是在我们已经在区域内时触发吗?
谢谢。
android-location - 我可以完全在后台服务中运行 Android GeoFencing 吗?
我有一个几乎不需要用户交互但需要地理围栏的应用程序。我可以完全在后台服务中运行它吗?
首次运行服务时会有一个 Activity。此 Activity 将启动一个服务并为 BOOT_COMPLETED 注册一个 BroadcastReceiver,因此该服务将在启动时启动。此活动不太可能再次运行。
该服务将设置警报以定期触发,这将导致 IntentService 从网络下载位置列表。然后,此 IntentService 将在这些位置周围设置地理围栏,并创建 PendingIntents,当接近这些位置时将触发。反过来,这些 PendingIntent 将导致另一个 IntentService 采取一些行动。
所有这些都需要在后台进行,除了安装后第一次启动 Activity 之外没有用户交互。因此,Activity 不会与 LocationClient 或任何位置服务交互。
实际上,我已经使用proximityAlerts 进行了设置,但是出于电池寿命的原因,我希望迁移到新的地理围栏API。但是,我听说在服务中使用 LocationClient 可能会出现一些问题。具体来说,我所听到的(抱歉,没有参考资料,只是传闻):
- 位置客户端依赖于 ui 可用性进行错误处理
- 当从后台线程调用时,LocationClient.connect() 假定它是从主 ui 线程(或具有事件循环器的其他线程)调用的,因此如果我们从后台线程中运行的服务调用此方法,则永远不会调用连接回调
当我进行调查时,我看不出为什么会出现这种情况,或者为什么它会阻止我做我想做的事。我希望它几乎可以替代proximityAlerts ...
任何人都可以在这里阐明一些事情吗?
android - 当在地理围栏示例中调用 handleGeofenceTransition() 时?
我正在开发今年在谷歌 I/OI 中发布的 android 地理围栏应用程序,它正在将用户当前位置 lat-lon 传递给具有不同半径(如 2、5、10、50 等)的地理围栏,但我无法收到通知。我不知道'不知道是什么问题,但 logcat 显示地理围栏已成功添加,它没有启动 Intent 服务,也没有调用 handleGeofenceTransition()。
android - 我是否需要在 API 控制台中注册我的 android 应用才能使用地理围栏?
我尝试设置我的应用程序和Android 示例应用程序以使用 Google Play 服务 SDK,NoClassDefFoundError
当我在设备上运行应用程序时得到 s。我已经完成并重新完成了将 SDK 添加为库的正确步骤。我的谷歌搜索唯一无法回答的是我是否需要通过 API 控制台获取 API 密钥才能使用地理围栏。
我是否需要 API 密钥才能在 Google Play 服务 SDK 中使用地理围栏?
android - Android 地理围栏是否保持活动状态直到删除/过期或仅在我的 PendingIntent 启动之前
我即将使用地理围栏实现一项功能,在完成任何认真的工作之前,我需要知道地理围栏在第一次转换后是否保持活动状态。
该功能的核心是:
每次我在点 P 的 x 米范围内(称为此区域 A)时,我都希望动作 B发生。
我需要知道的是
- 我是否只需要添加一个地理围栏
Geofence.NEVER_EXPIRE
并放心,无论经过时间、重新启动等如何,每次进入指定区域时我都会得到一个 PendingIntent
或者
- 我是否必须在离开 A 区后重新注册此地理围栏才能在下次进入A 区时收到通知?
我希望是前者
android - 如何更改地理围栏的形状
Google 中的新位置 API允许创建和监控一个带有Geofence.Builder
类的圆形区域的地理围栏。此类仅定义了用于创建具有圆形形状的地理围栏的方法。我想知道是否可以扩展Geofence.Builder
类并创建自定义形状。我想做的是定义一个三角形而不是圆形。
如果这不可能,Geofence 类是否提供了一种仅监视圆的某个部分的方法?
更新:我想要做的是从用户位置延伸一个三角形,其中一个顶点是用户位置。我希望三角形的高度为 50 米,三角形的底为 10 米。之后我想做的是检测其他用户何时进入从当前用户位置延伸的这个三角形。
android - 在android中从地理围栏调用活动
我希望在进入/退出地理围栏区域时直接将活动带到前台。
我有 5 个地理围栏区域,当我进入地理围栏区域 A(以纬度/经度指定)时,我希望将 ActivityA 带到前台,当我在地理围栏时,活动 B 是 B 等等。(这是一个非消费者应用程序,所以我不介意直接从服务调用活动到前台。)
我已阅读有关 Android 中地理围栏的文档。当他们收到地理围栏区域的不同 ID 时,我如何调用不同的活动?
待定意图:
和处理程序意图:
android - problems with android geofencing
I'm creating this geofencing app using the google sample tutorials. All works well except for this part which keeps showing an error:
In the SimpleGeofence.java, I have:
The error shows under the Geofence.Builder(), and I'm being asked to create a class 'Builder' in type 'Geofence'.
When I create the class under Geofence.java, the error moves to .setRequestId(getId()) and I'm asked to create a method 'setRequestId(String)' in the type 'Builder'. This is what i have in the Geofence.java after creating all these;
An error now shows on .setTransitionTypes(mTransitionType) and I'm asked to 'Add cast to method receiver'. This is where i need help..what should i do now. Thanks in advance!!
android-geofence - 不幸的是,android应用程序停止了
当我在模拟器中运行应用程序时,它说应用程序不幸停止了。这是logcat,任何人都可以找到错误是什么?
08-29 12:57:01.014: E/Trace(780): 打开跟踪文件时出错: 没有这样的文件或目录 (2) 08-29 12:57:01.244: D/AndroidRuntime(780): 关闭 VM 08- 29 12:57:01.244: W/dalvikvm(780): threadid=1: 线程退出未捕获异常 (group=0x40a71930) 08-29 12:57:01.334: E/AndroidRuntime(780): 致命异常: main 08- 29 12:57:01.334:E/AndroidRuntime(780):java.lang.RuntimeException:无法实例化活动 ComponentInfo{com.example.android.geofence/com.example.android.geofence.MainActivity}:java.lang.ClassNotFoundException :在路径上找不到类“com.example.android.geofence.MainActivity”:/data/app/com.example.android.geofence-2.apk 08-29 12:57:01.334: E/AndroidRuntime(780 ): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106) 08-29 12:57:01.334:E/AndroidRuntime(780): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 08-29 12:57:01.334: E/AndroidRuntime(780): 在 android.app.ActivityThread.access$600(ActivityThread. java:141) 08-29 12:57:01.334: E/AndroidRuntime(780): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 08-29 12:57:01.334: E/AndroidRuntime( 780): 在 android.os.Handler.dispatchMessage(Handler.java:99) 08-29 12:57:01.334: E/AndroidRuntime(780): 在 android.os.Looper.loop(Looper.java:137) 08 -29 12:57:01.334: E/AndroidRuntime(780): 在 android.app.ActivityThread.main(ActivityThread.java:5041) 08-29 12:57:01.334: E/AndroidRuntime(780): 在 java.lang .reflect.Method.invokeNative(Native Method) 08-29 12:57:01.334: E/AndroidRuntime(780): at java.lang.reflect.Method.invoke(Method.java:511) 08-29 12:57:01.334: E/AndroidRuntime(780): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 08-29 12:57:01.334: E/ AndroidRuntime(780): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 08-29 12:57:01.334: E/AndroidRuntime(780): 在 dalvik.system.NativeStart.main(Native方法)08-29 12:57:01.334:E/AndroidRuntime(780):原因:java.lang.ClassNotFoundException:在路径:/data/app 上找不到类“com.example.android.geofence.MainActivity” /com.example.android.geofence-2.apk 08-29 12:57:01.334: E/AndroidRuntime(780): 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65) 08-29 12:57: 01.334: E/AndroidRuntime(780): at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 08-29 12:57:01.334: E/AndroidRuntime(780): at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 08-29 12:57:01.334: E/AndroidRuntime(780): 在 android.app.Instrumentation.newActivity(Instrumentation.java:1054) 08-29 12:57: 01.334: E/AndroidRuntime(780): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097) 08-29 12:57:01.334: E/AndroidRuntime(780): ... 11 更多