単一のウィジェットの追加を許可したいのですが、ブール値のフラグを設定しようとしましたが、次のようになりました。
WidgetConfig の内部:
public final static String ADDED_KEY = "IsAdded";
public static boolean isAdded = false;
onCreate (WidgetConfig 内)
isAdded = prefs.getBoolean(ADDED_KEY, false);
if (isAdded){
Toast.makeText(this.getApplicationContext(), "Only one Widget", Toast.LENGTH_SHORT).show();
finish();
}
[...]
editor.putBoolean(ADDED_KEY, true); //disable adding here
editor.commit();
内部 WidgetProvider は AppWidgetProvider を拡張します
public void onDisabled(Context context) {
super.onDisabled(context);
[...]
//cancel alarm
configEditor.putBoolean(WidgetConfig.ADDED_KEY, false); //enable adding here
configEditor.commit();
}
public void onDeleted(Context context, int[] appWidgetIds){
super.onDeleted(context, appWidgetIds);
//I should not need this if there is only one widget
}
しかし、常に機能するとは限りません。どのようにできるのか?ありがとう