android asynTask到活动问题?

android asynTask到活动问题?,android,service,android-asynctask,Android,Service,Android Asynctask,我开发了一个GPS应用程序。我的应用程序有一个服务,负责通过服务器向服务器发送GPS Service -----> AysncTask(sendServer) // then in service i broadcast some variable myFilteredResponse = new Intent(GPS_FILTER); myFilteredResponse.putExtra("latitude", Double.valueOf(twoForma

我开发了一个GPS应用程序。我的应用程序有一个服务,负责通过服务器向服务器发送GPS

Service -----> AysncTask(sendServer)
// then in service i broadcast some variable

myFilteredResponse = new Intent(GPS_FILTER);
        myFilteredResponse.putExtra("latitude",      Double.valueOf(twoFormat.format(location.getLatitude())));
        myFilteredResponse.putExtra("longitude", Double.valueOf(twoFormat.format(location.getLongitude())));
        myFilteredResponse.putExtra("network", MyGPS.cur_network_status);
然后在我的活动中,我创建了一个广播接收器来接收所有这些变量。它工作正常,当我们有了新的lat n lon时,我的UI就会改变

在我的AYSNTASK中,当发送到服务器时,我将通过服务器获得位置标识,因此我想更新我的UI界面,以便我1 2也使用广播,但它不起作用

结构

                                  broadcast
service ( on location changed ) ------------->   UI interface

            broadcast??
AsyncTask ------------->   UI interface

我不能在我的AsyncTask中使用sendBroadcast,因为我的AsyncTask不是活动。你知道吗?

我想你的问题是从服务中获取数据

您可以将服务绑定到UI,并从活动中调用服务

这是一个开源项目

这是服务代码

这是用户界面

编辑: 如果您想使用AsyncTask进行UI更新,那么可以使用在UI线程中运行的onPostExecute

编辑:
干得好。异步任务示例

Thx,但是我使用广播,这样我的UI的静态成员就不能从服务中捕获信息广播(这很好)。问题在于asyncTask类中,在我从服务器获得响应后,我想更新我的UI,您是否在asyncTaskin my asyncTask受保护的void OnPostExecute(字符串结果){Log.d中从OnPostExecute更新UI(tag,“post executed”+result);//在这里做某事//MyGPS.location_info=“UnKnown”////要将响应广播到UI我可以吗我所做的只是使UI的成员与响应相等,所以我认为如果我可以广播,我可以在执行后更新我的UI,我可以更改从服务器获取的位置值,但问题是我必须重新启动活动,否则它将不会更改执行后在UI线程上运行,因此可以直接更新UI。无需更改铸造