我在Android市场上有一个名为DigiClock小部件的小部件,在上次更新后,我已经在根植摩托罗拉机器人上遇到了一些非常罕见且随机的问题(可能有其他手机有问题,但是唯一的我所拥有的反应来自有根的机器人用户)。启动运行AsyncTask的活动时会出现问题,该异步任务在显示ProgressDialog(水平样式)时从设备检索所有已安装的应用程序。适用的java代码文件可以在这里找到:
如果您希望区分工作版本和非工作版本之间的更改,可以在此处找到:
机器人上似乎发生了什么: *弹出进度框 *进度框在完成运行之前解散 *空列表显示
看起来提取应用程序的AsyncTask正在被杀死。这可能吗?
谢谢, 大卫
修改:
发现问题,原来在Android 2.0(不是2.1或1.6)
列出packages = getPackageManager()。getInstalledPackages(PackageManager.GET_ACTIVITIES);
在我的情况下崩溃了,但是
列出packages = getPackageManager()。getInstalledPackages(0);
不
答案 0 :(得分:2)
我不确定是否是症状的原因,但我可以看到代码存在一些问题:
http://developer.android.com/resources/articles/painless-threading.html
答案 1 :(得分:1)
发现问题,原来在Android 2.0中(不是2.1或1.6)
List packages = getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES);
在我的情况下崩溃了,但是
List packages = getPackageManager().getInstalledPackages(0);
没有。我通过在2.0模拟器中测试找到了这个。这增加了现在必须在1.5,1.6,2.0和2.1上测试我的应用程序而不仅仅是边缘情况的痛苦:/