Articles of geofencing

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不会在应用程序暂停/被销毁之后被跟踪,那么为什么还有待处理的意图呢? 还是我误解了?

Android – 如何检索注册的地理栅栏列表

如何确定为应用程序注册的所有地理栅栏? 在用LocationClient.addGeofences()注册onAddGeofencesResuls() ,我等待onAddGeofencesResuls() (它返回SUCCESS),并尝试使用与我用于注册的相同意图的LocationClient.getTriggeringGeofences(intent) ,但是我只得到null 。

意图没有收到来自Android Geofence事件

一切正常build立,并在模拟器中运行,但我似乎无法让我的IntentServicelogging任何东西。 我确定有一些基本的东西是我错过或者忽视的,但是我对Android / Java相当陌生,并且现在已经没有任何想法了。 public class MainActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener { private Geofence geofence; private PendingIntent mGeofencePendingIntent; private GoogleApiClient mGoogleApiClient; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LatLng latLng = new LatLng(39.7492350, -104.9913250); geofence = new Geofence.Builder() .setRequestId(GEOFENCE_REQ_ID) .setCircularRegion(latLng.latitude, latLng.longitude, GEOFENCE_RADIUS_IN_METERS) .setExpirationDuration(GEOFENCE_EXPIRATION) .setTransitionTypes(Geofence.GEOFENCE_TRANSITION_ENTER | Geofence.GEOFENCE_TRANSITION_EXIT) .build(); mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(LocationServices.API) .addConnectionCallbacks(this) […]

如何检查Android棉花糖模拟位置?

如何检测是否在Android Marshmallow使用Mock Location触发Mock Location ? 以前,我使用了Settings.Secure.ALLOW_MOCK_LOCATION 但是,在API级别23中,这已被弃用。 我想检查触发是否与假的位置或原始的GPS? 现在,有什么替代检查是否启用Mock Location Android Marshmallow ?

Android LocationServices.GeofencingApi示例用法

有谁知道使用LocationServices.GeofencingApi的例子吗? 我find的所有的Android geofencing示例都使用了已弃用的LocationClient类。 从我所看到的,LocationServices类是可以使用的类,但似乎没有任何有关如何使用它的工作示例。 我发现最近的这个post突出了位置更新请求 更新:我find的最接近的答案是这个混帐示例项目 – 但它仍然使用已弃用的LocationClient来触发屏蔽。

设备重新启动后,地理围栏在android中保持活动状态

我正在编写一个应用程序,当有人在安装的应用程序的生命周期内进入/退出多个站点时,需要使用geofencing。 我第一次安装应用程序时,我的geofencing实现(非常类似于下面的第二个链接),在移入/移出地理围栏时以及使用模拟位置进行模拟时,都可以正常工作,直到设备重新启动。 在重新启动时,不论是模拟位置还是实际进出地理围栏,似乎都会触发事件,并将未决意图激活到我的广播接收器。 我已经看了下面的三个链接,也阅读了很多文档,但我无法find一个明确的答案,直接说注册的地理栅栏在重新启动后仍然存在或不存在。 这些是我在堆栈溢出回顾的链接: 是否Android地理位置生存重新启动? Android Geofence最终会停止获得转换意图 Android地理围栏是否保持活动状态,直到移除/过期或者直到我的PendingIntent启动 如果任何人知道答案,他们是否坚持周围后重启,或有一个工作,如果他们不这样做,将不胜感激! 我目前的最后一个希望是创build一个BOOT_COMPLETED的监听器,并在启动时重新注册它们,但是如果绝对必要的话,我更喜欢这样做。 提前感谢! 编辑:虽然我还没有find一个明确的(书面)的答案,我很确定TonyC先生张贴的是正确的,并select了解决scheme。 非常感谢TonyC! 如果有人想要查看我的解决scheme,那么在设备启动时,我会监听启动完成操作,然后重新注册所需的全部地理位置。 这是清单: <!– Listen for the device starting up –> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <receiver android:name="com.YOUR.PACKAGE.geofence.BootCompleteReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver> 然后为它创build一个广播接收器,它将在启动时重新注册地理栅栏: 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 […]