问题描述
我有一个活动“HauptActivity”,其中有一个名为“status”的 textView。然后我有一个 GeofencebroadcastReceiver。每次用户进出地理围栏时,我都想更改 HauptActivity 中的 textView。我怎么意识到这一点。我无法像接收器一样处理这个问题。必须有另一种方式。你能帮我吗?
这是我的 GeofencebroadcastReceiver:
public class GeofencebroadcastReceiver extends broadcastReceiver {
private static final String TAG = "GeofencebroadcastReceiv";
@Override
public void onReceive(Context context,Intent intent) {
// Todo: This method is called when the broadcastReceiver is receiving
// an Intent broadcast.
// Toast.makeText(context,"Geofence triggered...",Toast.LENGTH_SHORT).show();
NotificationHelper notificationHelper = new NotificationHelper(context);
GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent);
if (geofencingEvent.hasError()){
Log.d(TAG,"onReceive: Error receiving geofence event...");
return;
}
List<Geofence> geofenceList = geofencingEvent.getTriggeringGeofences();
for (Geofence geofence: geofenceList) {
Log.d(TAG,"onReceive: " + geofence.getRequestId());
}
// Location location = geofencingEvent.getTriggeringLocation();
int transitionType = geofencingEvent.getGeofenceTransition();
// Here are the cases when I want to change the TextView in HauptActivity
switch (transitionType) {
case Geofence.GEOFENCE_TRANSITION_ENTER: // change textView here
notificationHelper.sendHighPriorityNotification("Vorsicht: Kamera","Du näherst dich einer Überwachungskamera",HauptActivity.class);
break;
/*case Geofence.GEOFENCE_TRANSITION_DWELL:
notificationHelper.sendHighPriorityNotification("Vorsicht: Kamera","Du bist in der Nähe einer Überwachungskamera",HauptActivity.class);
break;*/
case Geofence.GEOFENCE_TRANSITION_EXIT: // change textView here
notificationHelper.sendHighPriorityNotification("Gefahr vorüber","In der Nähe sind keine Kameras",HauptActivity.class);
break;
}
}
}
现在我正在智能手机上发送推送通知。但同时 HauptActivity 中的 textView 应该变成:“You are in a geofence”
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)