gpt4 book ai didi

android - 如何在 Intent Service 中实现 LocationClient?

转载 作者:行者123 更新时间:2023-11-29 21:15:32 25 4
gpt4 key购买 nike

我是 android 开发的新手,我正在尝试弄清楚如何使用 Fused Location Provider。我正在使用 this教程,并且没有如教程所示那样实现的问题。但是,现在我想从 Intent 服务中获取我的最后一个位置。问题是 Location Client 的新实例不接受 context 或 context.getApplicationContext() 作为 ConnectionCallbacks 和 ConnectionFailedListner 的参数。 GooglePlayServicesClient.ConnectionCallbacks 和 GooglePlayServicesClient.OnConnectionFailedListener 是通过其附带的方法实现的。非常感谢任何帮助。

我的代码

public class GCMIntentService extends GCMBaseIntentService implements GooglePlayServicesClient.ConnectionCallbacks,GooglePlayServicesClient.OnConnectionFailedListener,LocationListener{...

private static void generateNotification(Context context, String message) {
int icon = R.drawable.ic_launcher;
long when = System.currentTimeMillis();
NotificationManager notificationManager = (NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE);

//Checking for message type
//Received geofence coordinates
if (message.contains("Your parent is acquiring your current location")){

c = context;
//Force get location
locationclient = new LocationClient(c,c,c);//<--Not working
locationclient = new LocationClient(c,c.getApplicationContext(),c.getApplicationContext());//<--Not working
locationrequest = LocationRequest.create();
locationrequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); locationclient.connect();


}else{...

最佳答案

How Do I Implement LocationClient within Intent Service?

你不会。 LocationClient 的 API 是异步的,不能很好地与 IntentService 配合使用。使用常规 Service,根据需要管理您自己的后台线程,并在您不再需要该服务时调用 stopSelf()

The problem is that a new instance of Location Client is not accepting context or context.getApplicationContext() as parameters for ConnectionCallbacks and ConnectionFailedListner.

您必须传递这些监听器接口(interface)的实现。

GooglePlayServicesClient.ConnectionCallbacks and GooglePlayServicesClient.OnConnectionFailedListener are implemented with their accompanying methods

不在 Context 上,也不在 Application 上。您没有编写这些类——Google 编写的。因此,您无法在这些类上实现这些接口(interface)。

也许在某个地方,您确实实现了这些接口(interface),在这种情况下,您需要将该对象(或复数对象)的实例传递给适当的方法。

关于android - 如何在 Intent Service 中实现 LocationClient?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21536210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com