2

我正在使用具有 HTS 感的 HTC Hero。
我的经验是有时 AsyncTask 不会在 execute() 上运行 doInBackground 方法;
它只出现在我的英雄身上。有人遇到过同样的问题吗?

/ 马丁

4

2 回答 2

1

不是这个问题,但在为 HTC Hero 开发时,我遇到了几个在任何普通版本的 Android 中都没有发现的错误。

也就是说,当从 HTC Sense 拨号器拨打电话时,不会发送去电意图,这是最新的 HTC Hero 版本,而不是早期版本。

并且电话图标出现在最近使用的应用程序屏幕中,旁边是一个拨号器图标,按下时(拨号器图标)会导致严重问题。

与您的错误联系 HTC 并向他们提供日志,我已经解决了我发现的错误。

这是将近 2 周前的事了,不过我没有任何反馈

于 2010-03-05T10:05:08.010 回答
1

您应该做的是将 @Override 标志添加到 doInBackground(Void... params){}; 函数以确保它实际上覆盖了默认函数。

像:

@Override
public Void doInBackground(String... params) {
 // Do something
}

一个重要的旁注是将函数的参数类与类定义中定义的参数类匹配。

public class FetcherManager extends AsyncTask<Url, Integer, Long>{};

@Override
public Long doInBackground(Url... params) {
    // Do things
};

@Override
protected void onProgressUpdate(Integer... progress) {
   // Do things
}

@Override
protected void onPostExecute(Long result) {
   // Do things
}
于 2010-04-13T12:37:25.950 回答