首先添加的小部件不可点击.第二个是



在我的广播接收器中,它同时也是一个小部件。当我在安装后第一次添加小部件时,它不可单击。我添加的第二个小部件是可点击的。虽然第一个小部件仍然不可点击。

此错误

发生在模拟器中测试不同版本时。我手头没有其他设备,我可以一直重置。对于测试,我总是从"擦除用户数据"开始,以确保它是全新安装。

它确实适用于 1.6,但不适用于 2.x

我的首选项屏幕是一个手动独立活动,必须单独启动。

如果您需要更多信息,请告诉我。

这是我使它可点击的代码:

    @Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    super.onUpdate(context, appWidgetManager, appWidgetIds);
    Log.d(LOG_TAG, "Update");
    for (int id : appWidgetIds) {
        Intent intent = new Intent(ACTION);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
        //make widget clickable
        RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);
        remoteViews.setOnClickPendingIntent(R.id.imageview, pendingIntent);
        appWidgetManager.updateAppWidget(id, remoteViews);
    }
}

这是一个很长的镜头 - 在PendingIntent实例之间更改PendingIntent.getBroadcast中的请求代码;我认为我的一个小部件之一遇到了同样的问题,此更改已解决。

我发现了错误。

这是安卓模拟器别名AVD中的一个错误。该死的东西。希望这有助于其他人不要在不存在的错误上浪费太多时间。

http://code.google.com/p/android/issues/detail?id=8889

错误 ID 8889 "appWidgetManager.updateAppWidget 不更新 2.0、2.1 下的新 AVD 上的小部件"

解决方法是在从擦除用户数据开始后(我为此禁用了保存到快照 - 未启用测试)。比退出。而不是在没有擦除的情况下重新开始。其他写的你可以使用ctrl + F11两次切换到横向模式并返回。

相关内容

  • 没有找到相关文章

最新更新