Android Widget Problem mit intend.

Hallo zusammen,

ich versuche gerade, ein mehrfach Widget zu erzeugen, von denen ich die ImageButton Clicks unterscheiden will. Ich habe also beispielsweise 3 gleiche Widgets, die je einen ImageButton haben und die ich in der "onReceive" Methode unterscheiden können will. Was ich bis jetzt habe:

Code:
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    // There may be multiple widgets active, so update all of them
    super.onUpdate(context, appWidgetManager, appWidgetIds);

    final int N = appWidgetIds.length;
    for (int i = 0; i < N; i++) {
        System.out.println("test 0" + i);

        // Create an Intent
        Intent intent = new Intent(context, OnLights.class).setAction(ACTION_WIDGET_RECEIVER_LIGHT);
        [B]intent.putExtra(STR_KEY, i);[/B]
        System.out.println(appWidgetIds[i]);

        PendingIntent lightIntent = PendingIntent.getBroadcast(context, 0, intent, 0);

        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.on_lights);
        views.setOnClickPendingIntent(R.id.imageButton, lightIntent);

        appWidgetManager.updateAppWidget(appWidgetIds[i], views);
    }
}

@Override
public void onReceive(Context context, Intent intent) {
    if (intent.getAction().equals(ACTION_WIDGET_RECEIVER_LIGHT)) {

       [B] System.out.println(intent.getIntExtra(STR_KEY, 99));[/B]
        System.out.println(intent.hasExtra(STR_KEY));
    } else {
        super.onReceive(context, intent);
    }
}

Und hier die Manifest XML ....

Code:
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <receiver android:name=".OnLights" >
        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
        </intent-filter>

        <meta-data
            android:name="android.appwidget.provider"
            android:resource="@xml/on_lights_info" />
    </receiver>
</application>


Ich bekommen immer nur einen einzigen Wert ausgegeben und der ist 0. Ich habe aber bereits mit mehreren Widgets experimentiert und müsste eigentlich in "onReceive" die Ausgabe 0, 1 oder 2 bekommen, je nachdem, welcher ImageButton geklickt worden ist.

Hat jemand eine Ahnung, was ich da falsch mache?

Gruß, IceRage
 
Zurück
Oben