Autore Topic: Passaggio stringa da activity a service  (Letto 357 volte)

Offline StefanoAl

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy sII
  • Sistema operativo:
    android 4.1.2
Passaggio stringa da activity a service
« il: 17 Febbraio 2015, 20:41:38 CET »
0
Salve a tutti,

sto sviluppando un widget che permetta lo streaming di una web radio selezionabile dall'app a cui è collegato.

Il problema è il passaggio del link selezionato dall'applicazione al widget. In pratica dovrei spostare e registrare la stringa "webradio" dalla main_activity al mio service (che agisce sul widget) anche in modo permanente se possibile.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1228
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Passaggio stringa da activity a service
« Risposta #1 il: 17 Febbraio 2015, 22:15:32 CET »
0
Se devi passare qualcosa al service, e lo fai facendo:
Intent myservice = new Intent(classe,classe);

bhe, Se vuoi passare una stringa puoi fare myservice.putExtra(); e poi avvi il service normalmente

Offline StefanoAl

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy sII
  • Sistema operativo:
    android 4.1.2
Re:Passaggio stringa da activity a service
« Risposta #2 il: 17 Febbraio 2015, 22:28:56 CET »
0
ho già provato con il putExtra() ma non funziona, il widget crasha.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1228
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Passaggio stringa da activity a service
« Risposta #3 il: 17 Febbraio 2015, 22:31:17 CET »
0
non funzionerà qualcosa di diverso. POsta un log. Un normale putExtra non può causare alcun errore se usato correttamente

Offline StefanoAl

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy sII
  • Sistema operativo:
    android 4.1.2
Re:Passaggio stringa da activity a service
« Risposta #4 il: 17 Febbraio 2015, 22:37:38 CET »
0
Questo è in MainActivity:
Codice (Java): [Seleziona]
        @Override
        protected void onPause() {
            super.onPause();
            Intent serviceIntent = new Intent(BackgroundAudioService.class.getName());

                if (radio == "M2O"){
                         serviceIntent.putExtra("webradio", "http://mp3.kataweb.it:8000/M2O");
                }
          startService(serviceIntent);

}

Questo in BackgroundAudioService:
Codice (Java): [Seleziona]
  @Override
  public int onStartCommand(Intent intent, int flags, int startId) {
      String dato = intent.getStringExtra("webradio");

      player = new MediaPlayer();
        try {
          player.setDataSource(dato);
      } catch (IllegalArgumentException e) {
          e.printStackTrace();
      } catch (IllegalStateException e) {
          e.printStackTrace();
      } catch (IOException e) {
          e.printStackTrace();
      }
    player.prepareAsync();
    player.setAudioStreamType(AudioManager.STREAM_MUSIC);

    player.setOnPreparedListener(new OnPreparedListener() {

        public void onPrepared(MediaPlayer mp) {
            player.start();
        }
    });
   
    return START_STICKY;
  }

L'app crasha