2012-01-26 12 views
-1

私はappWidgetコンテナとappWidgetsの両方を作成しています。 私は、作成されたappWidgetsに起因すると思う問題があります - appWidgetコンテナを再起動(killしてから開く)するたびに、appWidgetが表示されますが、それはもはやクリックを処理しません。 これはすべてのappWidgetコンテナ(ランチャーとwidgetLocker)で発生するので、appWidgetのためだと思われます。android - どのようにappWidgetsコンテナの再起動を処理するには?

私は多くのチュートリアルをオンラインで試しましたが、この問題に関する参考文献は見つかりませんでした。 ボタンのインテント(ok、pendingIntents)の作成は、onUpdateメソッドだけでは作成しないでください。もしそうなら、どこに追加すればいいですか?私はonReceiveでそれを追加しましたが、それが起こるまで(非常に長い)時間がかかります。

私はここにいくつかのコードを追加していましたが、オンラインのコードでも同じ結果が得られました。

助けてください。

答えて

-1

問題を引き起こした原因はわかりませんが、解決策があります。要約:

onUpdate(...) 
    { 
    super.onUpdate(context, appWidgetManager, appWidgetIds); 
    for (int appWidgetId: appWidgetIds) 
    { 
    //Prepare remoteViews, including registration of their clicks events... 
    appWidgetManager.updateAppWidget(appWidgetId, remoteViews); 
    } 
    } 

onReceive(...) 
    { 
    if (intent.getAction().equals(ACTION_BUTTON_CLICKED)) 
    { 
    //Get needed data from the customized intent. 
    //Prepare remoteViews of what should be updated, including 
    //registration of their clicks events... 
    appWidgetManager.updateAppWidget(appWidgetId, remoteViews) 
    } 
    } 
関連する問題