2011-08-10 17 views
0

私の質問は:私のウィジェットがすでにホーム画面に配置されているかどうかを判断するにはどうすればいいですか?たとえば、初めてウィジェットを追加しました。また、ウィジェットをもう一度追加しようとすると、onUpdate()メソッドでcomeコードを実行します。何かのようにAndroidウィジェットの質問

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, 
     int[] appWidgetIds) { 

if(widget_already_exists){ 

//do something 

    } 
} 

これを実行する方法はありますか?

ありがとうございました。 Alex Ady *

答えて

0

あなたのアプリウィジェットIDを追跡してください。 onUpdate()に新しいものが表示され、既にそれがあった場合、ユーザーは2番目のインスタンスを追加しています。あなたのログonDeleted()AppWidgetProvider)からそれらを削除することを忘れないでください。

+0

はい、私はSharedPreferencesを使用していますが、システムが特定のプロバイダによって追加されたウィジェットを追跡している場合、別の方法があるかどうかを知りたいと思っていました。 –

+0

@Alex Ady:あなたのアプリウィジェットIDの 'AppWidgetManager'を問い合わせることもできます。ただし、別のコールバックメソッドによって通知されるわけではありません。新しいウィジェットの場合は、 'onUpdate()'を超えています。 – CommonsWare