Articles of geofencing

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

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 ?