1
public class WidgetConfigure extends Activity {

private int widgetID;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.widget_configure);
    widgetID = this.getIntent().getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
    setResult(RESULT_CANCELED, new Intent().putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetID));
}

}

あなたのウィジェット構成アクティビティが間違ったウィジェット ID を取得したことを知るのは無意味だと思います。ユーザーに「少し問題が発生しました。もう一度お試しください」と通知する必要があります。間違ったウィジェット ID を受け取る可能性はありますか? 意味のある使い方を知っている人がいAppWidgetManager.INVALID_APPWIDGET_IDたら教えてください:)。

4

1 に答える 1

0

AppWidgetManager.INVALID_APPWIDGET_IDウィジェットの ID の取得に成功したかどうかを判断するために使用されます。

例として:

widgetId = this.getIntent().getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);

if(widgetId == AppWidgetManager.EXTRA_APPWIDGET_ID){
// something went wrong
}
else{
// proceed...
}

に 2 つの引数を渡す必要がありますgetInt()。の ID の取得にAppWidget失敗した場合getInt()は、2 番目の引数 (既定値) が返されます。AppWidgetManager.INVALID_APPWIDGET_IDの実際の ID になることはあり得ないため、上記AppWidgetのように確認しても安全です。(ちなみに、の値AppWidgetManager.INVALID_APPWIDGET_ID0 であるため、単に 0 と比較することもできます。)

于 2013-06-22T22:56:11.597 に答える