【发布时间】:2010-03-05 09:03:17
【问题描述】:
我正在使用具有 HTS 感觉的 HTC Hero。
我的经验是,有时 AsyncTask 不会在 execute() 上运行 doInBackground 方法;
它只出现在我的英雄身上。有人遇到过同样的问题吗?
/马丁
【问题讨论】:
我正在使用具有 HTS 感觉的 HTC Hero。
我的经验是,有时 AsyncTask 不会在 execute() 上运行 doInBackground 方法;
它只出现在我的英雄身上。有人遇到过同样的问题吗?
/马丁
【问题讨论】:
不是这个问题,但在为 HTC Hero 开发时,我遇到了几个在任何普通版本的 Android 中都没有发现的错误。
也就是说,当从 HTC Sense 拨号器拨打电话时,不会发送去电意图,这是最新的 HTC Hero 版本,而不是早期版本。
电话图标出现在最近使用的应用程序屏幕中,旁边是一个拨号器图标,按下该图标(拨号器图标)会导致严重问题。
与您的错误联系 HTC 并向他们提供日志,我已经解决了我发现的错误。
这是将近 2 周前的事了,不过我没有收到任何反馈
【讨论】:
您应该做的是将@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
}
【讨论】: