0

同時にウィジェットである私のBroadcastreceiverで。インストール後に初めてウィジェットを追加したとき、クリックできません。追加する2番目のウィジェットはクリック可能です。最初のウィジェットはまだクリックできませんが。

このエラーは、エミュレータでさまざまなバージョンをテストしているときに発生しました。手元に他のデバイスがないので、いつでもリセットできます。テストでは、常に「ユーザーデータのワイプ」から始めて、新規インストールであることを確認します。

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);
    }
}
4

2 に答える 2

0

これがロングショットです -インスタンスPendingIntent.getBroadcast間でリクエストコードを変更してください。PendingIntentウィジェットの 1 つに同じ問題があり、この変更で解決したと思います。

于 2012-05-13T10:37:45.370 に答える
0

エラーが見つかりました。

これは、Android エミュレータ エイリアス AVD のバグです。こいつ。これが、存在しないエラーで多くの時間を無駄にしないように他の人に役立つことを願っています。

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

バグ ID 8889 「appWidgetManager.updateAppWidget が 2.0、2.1 未満の新しい AVD でウィジェットを更新しない」

回避策は、ユーザーデータのワイプから開始した後です(このためにスナップショットへの保存を無効にしました-有効にしていないことをテストしました)。出口より。ワイプせずにやり直すより。他の人は、ctrl+F11 を 2 回使用してランドスケープ モードに変更し、元に戻すことができると書いています。

于 2012-05-13T12:20:29.953 に答える