在android中从Geofence调用活动
当进入/离开地理围栏区域时,我希望将活动直接带到前台 我有5个土工围栏区域,当我进入Lat/Long中指定的土工围栏区域A时,我希望将活动A带到前台,当我在土工围栏处时,活动B是B,依此类推。它是一个非消费者应用程序,所以我不介意直接从服务调用活动到前台 我读过Android中的地理围栏。当不同的活动收到地理围栏区域的不同ID时,我如何调用它们 未决意向:在android中从Geofence调用活动,android,android-geofence,Android,Android Geofence,当进入/离开地理围栏区域时,我希望将活动直接带到前台 我有5个土工围栏区域,当我进入Lat/Long中指定的土工围栏区域A时,我希望将活动A带到前台,当我在土工围栏处时,活动B是B,依此类推。它是一个非消费者应用程序,所以我不介意直接从服务调用活动到前台 我读过Android中的地理围栏。当不同的活动收到地理围栏区域的不同ID时,我如何调用它们 未决意向: public class MainActivity extends FragmentActivity { ... private
public class MainActivity extends FragmentActivity {
...
private PendingIntent getTransitionPendingIntent() {
Intent intent = new Intent(this,
ReceiveTransitionsIntentService.class);
return PendingIntent.getService(
this,
0,
intent,
PendingIntent.FLAG_UPDATE_CURRENT);
}
...
}
以及处理程序的意图:
protected void onHandleIntent(Intent intent) {
if (LocationClient.hasError(intent)) {
int errorCode = LocationClient.getErrorCode(intent);
Log.e("ReceiveTransitionsIntentService",
"Location Services error: " +
Integer.toString(errorCode));
} else {
// Get the type of transition (entry or exit)
int transitionType =
LocationClient.getGeofenceTransition(intent);
// Test that a valid transition was reported
if (
(transitionType == Geofence.GEOFENCE_TRANSITION_ENTER)
||
(transitionType == Geofence.GEOFENCE_TRANSITION_EXIT)
) {
List <Geofence> triggerList =
getTriggeringGeofences(intent);
String[] triggerIds = new String[geofenceList.size()];
for (int i = 0; i < triggerIds.length; i++) {
// Store the Id of each geofence
triggerIds[i] = triggerList.get(i).getRequestId();
}
}
} else {
Log.e("ReceiveTransitionsIntentService",
"Geofence transition error: " +
Integer.toString()transitionType));
}
}
声明您不应该这样做:
从位置服务发送的意图可以触发应用程序中的各种操作,但您不应该让它启动活动或片段,因为组件应该只在响应用户操作时才可见。在许多情况下,IntentService是处理意图的好方法
声明您不应该这样做:
从位置服务发送的意图可以触发应用程序中的各种操作,但您不应该让它启动活动或片段,因为组件应该只在响应用户操作时才可见。在许多情况下,IntentService是处理意图的好方法
他正在使用意图服务他正在使用意图服务