
Feelix333
Stamm-User
- 349
Hallo zusammen,
Ich möchte vorerst ein ganz einfaches Android Widget erstellen.
Es enthält nur einen Button der bei klick daraus einen Toast ausgibt.
Innerhalb einer App kein Problem, nur als Widget scheint das mit
"onUpdate" und "onReceive" wieder ganz anders zu funktionieren..
Ein Widget mit einem Standard Button habe ich schon erstellt - bei der Funktion beiße ich mit trotz Stackoverflow, etc die Zähne aus.
Ich hoffe ich könnt mir helfen!
Nach gefühlten 1000 Versionen, sieht der Code in der Widget.java so aus:
Vielen Dank schon mal!
Gruß
Felix
Ich möchte vorerst ein ganz einfaches Android Widget erstellen.
Es enthält nur einen Button der bei klick daraus einen Toast ausgibt.
Innerhalb einer App kein Problem, nur als Widget scheint das mit
"onUpdate" und "onReceive" wieder ganz anders zu funktionieren..

Ein Widget mit einem Standard Button habe ich schon erstellt - bei der Funktion beiße ich mit trotz Stackoverflow, etc die Zähne aus.
Ich hoffe ich könnt mir helfen!
Nach gefühlten 1000 Versionen, sieht der Code in der Widget.java so aus:
Code:
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
final int N = appWidgetIds.length;
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];
Intent intent = new Intent(context, Provider.class);
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
Intent clickIntent = new Intent(context, Provider.class);
clickIntent.setAction(BUTTON_CLICK);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.activity_main);
views.setOnClickPendingIntent(R.id.button1, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
public void onReceive(Context context, Intent clickIntent) {
super.onReceive(context, clickIntent);
if (clickIntent.getAction().equals(BUTTON_CLICK)) {
Toast.makeText(context, "Button Clicked", Toast.LENGTH_SHORT).show();
System.out.println("Click!");
}
}
Vielen Dank schon mal!
Gruß
Felix