问题描述
我想在进入地理围栏时启用该按钮并在退出地理围栏时禁用该按钮。我尝试使用通知获取地理围栏退出和进入信息,但它没有禁用和启用按钮。
private void populateGeofenceList() {
for (Map.Entry<String,LatLng> entry : Constants.BAY_AREA_LANDMARKS.entrySet()) {
mGeofenceList.add(new Geofence.Builder()
.setRequestId(entry.getKey())
.setCircularRegion(
entry.getValue().latitude,entry.getValue().longitude,Constants.GEOFENCE_RADIUS_IN_METERS
)
.setExpirationDuration(Geofence.NEVER_EXPIRE)
.setTransitionTypes(Geofence.GEOFENCE_TRANSITION_ENTER |
Geofence.GEOFENCE_TRANSITION_EXIT)
.build());
}
}
private GeofencingRequest getGeofencingRequest() {
GeofencingRequest.Builder builder = new GeofencingRequest.Builder();
builder.setinitialTrigger(GeofencingRequest.INITIAL_TRIGGER_ENTER);
builder.addGeofences(mGeofenceList);
return builder.build();
}
public void addGeofencesButtonHandler(View view) {
if (!checkPermissions()) {
requestPermissions();
return;
}
Toast.makeText(this,"Anda sudah Mengabsen",Toast.LENGTH_SHORT).show();
}
@SuppressWarnings("MissingPermission")
private void addGeofences() {
if (!checkPermissions()) {
showSnackbar(getString(R.string.insufficient_permissions));
return;
}
mGeofencingClient.addGeofences(getGeofencingRequest(),getGeofencePendingIntent())
.addOnCompleteListener(this);
}
private void setButtonsEnabledState() {
GeofencingRequest geo = getGeofencingRequest();
if (geo.equals(Geofence.GEOFENCE_TRANSITION_ENTER)) {
mAbsen.setEnabled(true);
mAbsen.setText("Absen");
frameAbsen.setBackgroundResource(R.drawable.call_button);
}else {
mAbsen.setEnabled(false);
mAbsen.setText("Tidak");
//frameAbsen.setBackgroundResource(R.drawable.disable);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)