android asyncTask活动问题?

时间:2011-08-02 02:15:02

标签: 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(twoFormat.format(location.getLatitude())));
        myFilteredResponse.putExtra("longitude", Double.valueOf(twoFormat.format(location.getLongitude())));
        myFilteredResponse.putExtra("network", MyGPS.cur_network_status);

然后在我的活动中我创建了一个广播接收器来接收所有这些变量n它工作正常,我的UI然后将改变我们有新的lat n lon

在我的AysncTask发送到服务器时,我将获得服务器的位置识别,所以我想更新我的UI界面,所以我也使用广播,但它不起作用!

结构

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

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

我不能在我的AsyncTask中使用sendBroadcast,因为我的AsyncTask不是活动的任何想法吗?

1 个答案:

答案 0 :(得分:1)

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

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

这是一个开源项目。 Link

这是服务代码。 Link

这是用户界面。 Link

修改 如果你想使用AsyncTask进行UI更新,那么你可以使用在UI线程中运行的 onPostExecute

修改 干得好。 AsyncTask示例。 Link