1

私のアプリには 1*4 のアイコン サイズのウィジェットがあります。ユーザーがウィジェットを追加しようとすると、構成画面が表示されます。いくつかのデータが収集されます-サーバーによって検証されます-appWidgetIDをキーとしてローカルDBに追加されます-すべて問題ありません。

ユーザーが保存を押すと、十分なスペースがない場合、「このホーム画面にスペースがありません」という丁寧なトーストが表示されます。

今私の問題は、アプリケーションにこれが通知されないことです。アプリケーションは依然としてウィジェットが作成されたと想定し、一定時間後にブロードキャストがウィジェットを更新するのを待ちます。

DBでそのレコードを削除済みとしてマークできるように、ブロードキャストまたはコールバック、またはウィジェットが正常に作成されなかったかどうかを判断するための可能な方法を介して見つけることができるかどうかを誰かに教えてもらえますか.

または、魔法の忍者コードを介して事前に利用可能なスペースを知ることができればより良い.

この問題が原因で、アプリケーションの設計全体が妨げられています。助けてください。

4

3 に答える 3

2

これは 1.6 または 2.0 で修正されています。

于 2009-12-30T23:09:05.023 に答える
0

この場合に呼び出されるかどうかonDeleted()を確認しましたか? AppWidgetProvider試したことはありませんが、うまくいくことを願っています。

それが呼び出されない場合は、 を試すことができますがonDisabled()、その時点でホーム画面にアプリ ウィジェットのコピーが他にない場合にのみ機能します。

于 2009-12-30T11:59:46.447 に答える
0

これは現在 OS のバグであり、画面上にウィジェット用の十分なスペースがない場合に onDeleted() メソッドが呼び出されないと思います。少なくとも Android バージョン 1.5 まではこれを見たことがあると思います。私が知っている修正はありません。

于 2009-12-30T19:25:50.687 に答える