Michele
- Forum-Beiträge: 1.525
25.05.2013, 20:25:07 via Website
25.05.2013 20:25:07 via Website
Hallo alle zusammen.
Ich weiß oder habe noch immer nicht heraus gefunden wie ich mehrere Buttons für verschiedene
Methoden benutzen kann.
Was ich meine als beispiel:
So führt er die AppWidget.class aus und startet den Service wieder neu.
Also ist egal wie viel Methoden ich drin hätte für mehrere Buttons, werden alle gleichzeitig ausgeführt.
Aber jeder Button soll was eigenes tun, wenn ich nun mehrere hätte.
Wie muss ich das schreiben?
LG
Ich weiß oder habe noch immer nicht heraus gefunden wie ich mehrere Buttons für verschiedene
Methoden benutzen kann.
Was ich meine als beispiel:
1public class ServiceClass extends Service {
2
3
4 @Override
5 public void onStart(Intent intent, int startId) {
6 super.onStart(intent, startId);
7
8 SoundPool soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
9 int soundID = soundPool.load(getApplicationContext(), R.raw.hahah, 1);
10
11 AppWidgetManager widgetManager = AppWidgetManager.getInstance(getApplication());
12 ComponentName widget = new ComponentName(getApplication(),AppWidget.class);
13 int[] widgetIds = widgetManager.getAppWidgetIds(widget);
14 RemoteViews remoteViews = new RemoteViews(getApplicationContext().getPackageName(), R.layout.layoutmain);
15 Intent cintent = new Intent(getApplicationContext(), AppWidget.class);
16 cintent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
17 cintent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS,widgetIds);
18 PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, cintent, PendingIntent.FLAG_UPDATE_CURRENT);
19 remoteViews.setOnClickPendingIntent(R.id.button2, pendingIntent);
20 soundPool.play(soundID, 1.0f, 1.0f, 1, 0, 1f);
21 widgetManager.updateAppWidget(widgetIds,remoteViews);
22
23 }
24
25 @Override
26 public IBinder onBind(Intent intent) {
27 return null;
28 }
29}
2
3
4 @Override
5 public void onStart(Intent intent, int startId) {
6 super.onStart(intent, startId);
7
8 SoundPool soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
9 int soundID = soundPool.load(getApplicationContext(), R.raw.hahah, 1);
10
11 AppWidgetManager widgetManager = AppWidgetManager.getInstance(getApplication());
12 ComponentName widget = new ComponentName(getApplication(),AppWidget.class);
13 int[] widgetIds = widgetManager.getAppWidgetIds(widget);
14 RemoteViews remoteViews = new RemoteViews(getApplicationContext().getPackageName(), R.layout.layoutmain);
15 Intent cintent = new Intent(getApplicationContext(), AppWidget.class);
16 cintent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
17 cintent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS,widgetIds);
18 PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, cintent, PendingIntent.FLAG_UPDATE_CURRENT);
19 remoteViews.setOnClickPendingIntent(R.id.button2, pendingIntent);
20 soundPool.play(soundID, 1.0f, 1.0f, 1, 0, 1f);
21 widgetManager.updateAppWidget(widgetIds,remoteViews);
22
23 }
24
25 @Override
26 public IBinder onBind(Intent intent) {
27 return null;
28 }
29}
1public class AppWidget extends AppWidgetProvider {
2 @Override
3 public void onReceive(Context context, Intent intent) {
4 super.onReceive(context, intent);
5
6 }
7
8 @Override
9 public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
10 super.onUpdate(context, appWidgetManager, appWidgetIds);
11
12 Intent intent = new Intent(context.getApplicationContext(),ServiceClass.class);
13 intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
14 context.startService(intent);
15 }
16}
2 @Override
3 public void onReceive(Context context, Intent intent) {
4 super.onReceive(context, intent);
5
6 }
7
8 @Override
9 public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
10 super.onUpdate(context, appWidgetManager, appWidgetIds);
11
12 Intent intent = new Intent(context.getApplicationContext(),ServiceClass.class);
13 intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
14 context.startService(intent);
15 }
16}
So führt er die AppWidget.class aus und startet den Service wieder neu.
Also ist egal wie viel Methoden ich drin hätte für mehrere Buttons, werden alle gleichzeitig ausgeführt.
Aber jeder Button soll was eigenes tun, wenn ich nun mehrere hätte.
Wie muss ich das schreiben?
LG
— geändert am 25.05.2013, 20:30:59
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.