Articles of geofencing

地理围栏:通过后台服务发送时HTTP请求失败。 给出UnknownHostException

我在android应用程序中实现了Geofence。 我按照这个链接在app中实现了’Geofence’。 我正在使用’Retrofit’库来调用’HTTP’请求。 应用具有以下权限: 这是我的’IntentService’代码: public class GeofenceService extends IntentService { private static final String TAG = GeofenceService.class.getName(); public static final int GEOFENCE_NOTIFICATION_ID = 0; public GeofenceService() { super(TAG); } @Override protected void onHandleIntent(Intent intent) { // Retrieve the Geofencing intent GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent); createLoggerFile(); // Handling errors if ( geofencingEvent.hasError() ) { String […]

地理围栏在Android中完全无法使用吗?

由于这个错误,我的团队决定根本不使用地理围栏。 Android中的地理围栏可以使用或不可用吗? 从错误报告: 在所有内部测试设备上,一切都运行良好,包括调试和发布版本。 但是,对于某些用户,我们会收到崩溃报告,指出API存在问题: Fatal Exception: java.lang.SecurityException: Invalid API Key for package = de.stocard.stocard .Status code received = -1 at android.os.Parcel.readException(Parcel.java:1620) at android.os.Parcel.readException(Parcel.java:1573) at com.google.android.gms.common.internal.zzu$zza$zza.zza(Unknown Source) at com.google.android.gms.common.internal.zzd.zzqz(Unknown Source) at com.google.android.gms.internal.zzpw$zzc.zzapl(Unknown Source) at com.google.android.gms.internal.zzpw$zzf.run(Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at com.google.android.gms.internal.zzrn.run(Unknown Source) at java.lang.Thread.run(Thread.java:818) 这种情况发生在Android版本4.4.2到7.0之间,没有明显的模式。 这同样适用于设备型号和制造商:许多和多个制造商和型号。 这听起来像一个非常严重的Heisenbug。 更新: 在Android中似乎有两种不同的方式来进行地理围栏: 使用Awareness […]

处理多个地理围栏过渡与公共区域

如果我有这两个地理围栏,在注册这些地理围栏后,当我进入或离开这些圈子的圆周时,我会得到通知。 但是,如果我正在通过公共区域,即从一个圆圈到另一个圆圈,我不希望我的应用程序发送通知。 可能吗? 如果是这样,那怎么样?

使用Google Play服务6.5。+测试地理围栏

我一直在测试最新Google Play服务中提供的地理围栏api,使用此处提供的官方示例: https : //github.com/googlesamples/android-Geofencing/当然,还要遵循培训课程: http:// developer.android.com/training/location/geofencing.html 当您在San Fransisco附近的两座Google建筑物时,样本会显示通知,所以当我靠近我的家或工作地点时,我会将其调整为触发。 如果我使用真实的设备,它的工作原理。 通知被正确触发。 但是,当我使用模拟器,并使用telnet或ddms更改位置时,没有任何反应。 我也尝试使用Genymotion,安装了Gapps,同样的东西:没什么。 有没有人有关于如何测试地理围栏的指针,而不是实际移动我的屁股? 因为在街上,没有办法调试代码……

设备重启后,Geofences是否在android中保持活动状态

我正在编写一个应用程序,当有人在正在安装的应用程序的生命周期内进入/退出多个站点时,需要使用地理围栏。 我的地理围栏实现(非常类似于下面的第二个链接)在我第一次安装应用程序时工作正常,无论是在移入/移出地理围栏还是使用模拟位置来模拟它,直到设备重新启动。 在重新启动时,模拟位置或实际上物理移入和移出地理围栏似乎都会触发事件并将未决意图发送到我的广播接收器。 我已经查看了以下三个链接,并且还阅读了相当多的文档,但我无法find一个明确的答案,直接说注册地理围栏持续存在或重启后不会持续存在。 这些是我在堆栈溢出时查看的链接: Android地理围栏是否能够在重启时幸存? Android Geofence最终停止获得过渡意图 Android Geofences在删除/过期之前或仅在我的PendingIntent启动之前保持活动状态 如果有人碰巧知道他们是否坚持重新启动后的答案,或者如果他们没有解决问题,那么我们将非常感激! 我最近的希望是为BOOT_COMPLETED创建一个监听器,并在启动时重新注册它们,但id更喜欢只在必要时才这样做。 非常感谢提前! 编辑:虽然我没有find明确的(书面)答案,但我很确定TonyC先生发布的内容是否正确,并选择了该解决方案。 非常感谢TonyC! 如果有人想看到我的解决方案,我会在设备启动时监听启动完成操作,然后重新注册我需要的所有地理围栏。 这是显而易见的: 然后为它创建一个广播接收器,它将在启动时重新注册地理围栏: package com.YOUR.PACKAGE.geofence; import android.app.PendingIntent.CanceledException; import android.content.Context; import android.content.Intent; import android.support.v4.content.WakefulBroadcastReceiver; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.GooglePlayServicesUtil; import com.google.android.gms.location.Geofence; public class BootCompleteReceiver extends WakefulBroadcastReceiver { private static final String TAG = “BootCompleteReceiver”; @Override public void onReceive(Context context, Intent intent) { […]

Android的地理围栏最大限制?

我从google play服务的geo fencing API开始。 我想我理解了一般的概念,但是我不知道地理栅栏是否有限制。 我将地理位置列表提供给位置客户端,并处理其余的部分。 但是,我可以将多less个地理位置传递给位置客户端? 我想要多less?

在Geofencing的Google教程中没有看到Geofence转换

我正在尝试使用Google的示例testingGeofencefunction:创build和监视地理围栏 。 我已经在这里上传了代码 。 问题是我从来没有得到进入或退出的通知。 我有Wifi,4G和GPS。 我曾尝试通过以下方式进行testing: 我甚至走出我的房子约五十英尺,走回去,但没有通知。 我可以看到播放服务被连接,甚至MainActivity.java中的“GeofenceUtils.ACTION_GEOFENCES_ADDED”被触发,所以我认为Geofences正在被正确添加。 在设置中启用模拟位置,并使用这个假GPS应用程序和改变的位置 – 从Geofence1相同的坐标开始,然后设置为完全外(在另一个状态) – 但我仍然没有得到一个退出通知。 我究竟做错了什么? ANYONE成功运行了这个Google的例子:Creating&Monitoring Geofences 。 我已经在这里上传代码,以方便浏览。 我只是试图学习Geofencing – 检测进入和退出。 我将标记任何答案作为正确的答案,我可以使用在我的实际设备上进行工作 。

如何在Android中使Geo Fencing警报更加准确

您好,我正在尝试在Android中添加Geo Fence的function。 我正在使用http://developer.android.com/training/location/geofencing.html来创build和监控Geo Fences。 我使用IntentService警报(input/退出),但对我来说,它不工作。 但是当我离开并回到区域testing它时,它不适合我。 我已打开设备的GPS,但设备未连接到互联网。 任何人都可以帮助我,使其更加准确和完美,没有任何问题。 public class MainActivity extends Activity implements GooglePlayServicesClient.ConnectionCallbacks, GooglePlayServicesClient.OnConnectionFailedListener, LocationClient.OnAddGeofencesResultListener { private LocationClient locationClient; private String TAG = "MainActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); int resp = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); if (resp == ConnectionResult.SUCCESS) { locationClient = new LocationClient(this, this, this); locationClient.connect(); } } @Override public void […]

Android Geofencing(多边形)

如何从多个地理位置创build多边形地理栅栏(长,纬度值)。 另外如何跟踪用户正在进入这个地理围栏区域或在Android上从这个区域退出。

Android – 为什么使用未决意图进行地理围栏

我刚刚完成了Android上的geofencing教程( http://developer.android.com/training/location/geofencing.html ),我想知道为什么地理围栏的“callback”是通过挂起的意图完成的,而不是简单的callback接口。 如果在一个活动中实现,那么通常会断开onPause()的位置客户端,所以之前添加的geofences不会在应用程序暂停/被销毁之后被跟踪,那么为什么还有待处理的意图呢? 还是我误解了?