WidgetのIntent.putExtraについて

Widgetで簡易ランチャを作ってみたが、いくつかの異なるViewをクリックするとそれぞれ異なったパラメータを渡したいのにうまくいかない。

9個のViewに対してそれぞれIntentを作成して、putExtraでパラメータを設定してServiceに飛ばすという感じを最初以下のようにしたらgetExtraをしても設定したパラメータが取れない。

Intent clickIntent = new Intent[9];
PendingIntent pendingIntent = new PendingIntent[9];

for(int i = 0; i < clickIntent.length; i++){
	clickIntent[i] = new Intent(ACTION_CLICK);
	clickIntent[i].putExtra(KEY, i);
	pendingIntent[i] = PendingIntent.getService(getApplicationContext(), 0, clickIntent[i], 0);
				views.setOnClickPendingIntent(icons[i], pendingIntent[i]);
			}

情報を探して以下のように修正

Intent clickIntent = new Intent[9];
PendingIntent pendingIntent = new PendingIntent[9];

for(int i = 0; i < clickIntent.length; i++){
	clickIntent[i] = new Intent(ACTION_CLICK);
	clickIntent[i].putExtra(KEY, i);
	pendingIntent[i] = PendingIntent.getService(getApplicationContext(), i(←ここ①), clickIntent[i], PendingIntent.FLAG_UPDATE_CURRENT(←ここ②));
				views.setOnClickPendingIntent(icons[i], pendingIntent[i]);
			}

①が原因だったみたいですね。
でもAndroid DevelopersのリファレンスにはPendingIntent.getServiceの第②引数の説明は以下のように書いてある。

Private request code for the sender (currently not used).

not usedって書いてあるから適当でいいと思ったのに…

参考URL
http://syun-blog.cocolog-nifty.com/blog/2010/04/androidappwidge.html