Autore Topic: Chiamare BroadcastReceiver da Service  (Letto 607 volte)

Offline Matti111

  • Utente junior
  • **
  • Post: 68
  • Respect: +11
    • Mostra profilo
    • Ad Banners
  • Dispositivo Android:
    Nokia Lumia 800
  • Play Store ID:
    Ronca
  • Sistema operativo:
    Windows 7
Chiamare BroadcastReceiver da Service
« il: 02 Febbraio 2012, 10:13:02 CET »
0
Ciao a tutti,
all'interno del mio service io eseguo quest'istruzione:

Codice: [Seleziona]
private void SetAlarm(int millisecondi) {
                // TODO Auto-generated method stub
                //Set Alarm
                intent_sveglia = new Intent(this, MyBroadcastReceiver.class);
                pendingIntent_sveglia = PendingIntent.getBroadcast(this, 234324243, intent_sveglia, PendingIntent.FLAG_CANCEL_CURRENT);
                alarmManager_sveglia = (AlarmManager) getSystemService(ALARM_SERVICE);
                alarmManager_sveglia.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+ millisecondi+1000,5000, pendingIntent_sveglia);

        }

Però il broadcastReceiver non parte. Mi sapete dire il perchè? Quando lo chiamo dall'activity funziona.

Codice: [Seleziona]
public void onReceive(Context context, Intent intent) {
               
                // Vibrate the mobile phone
                Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
                vibrator.vibrate(2000);

                //Salvo che la sveglia non sta suonando
                          prefs = context.getSharedPreferences(MY_PREFERENCES_ATTIVA, Context.MODE_PRIVATE);
                          editor = prefs.edit();
                          editor.putString(TEXT_DATA_KEY_ATTIVA, "Attiva");
                          editor.commit();
                          editor.apply();
                 //fine salvo dati per la sveglia
        }
        @Override
        public IBinder peekService(Context myContext, Intent service) {
                // TODO Auto-generated method stub
                                // Vibrate the mobile phone
                                Vibrator vibrator = (Vibrator) myContext.getSystemService(Context.VIBRATOR_SERVICE);
                                vibrator.vibrate(2000);

                                //Salvo che la sveglia non sta suonando
                                          prefs = myContext.getSharedPreferences(MY_PREFERENCES_ATTIVA, Context.MODE_PRIVATE);
                                          editor = prefs.edit();
                                          editor.putString(TEXT_DATA_KEY_ATTIVA, "Attiva");
                                          editor.commit();
                                          editor.apply();
                                 //fine salvo dati per la sveglia
                return super.peekService(myContext, service);
        }

Grazie
Ciao
Mattia
« Ultima modifica: 02 Febbraio 2012, 10:24:44 CET da Matti111 »
Tutto quello che c'è da sapere sul mobile advertising
AdBanner

Offline Matti111

  • Utente junior
  • **
  • Post: 68
  • Respect: +11
    • Mostra profilo
    • Ad Banners
  • Dispositivo Android:
    Nokia Lumia 800
  • Play Store ID:
    Ronca
  • Sistema operativo:
    Windows 7
Re:Chiamare BroadcastReceiver da Service
« Risposta #1 il: 02 Febbraio 2012, 11:07:51 CET »
0
 ???

Scusate, non avevo dichiarato il broadcastreceiver nel manifest.
Tutto quello che c'è da sapere sul mobile advertising
AdBanner