Autore Topic: problema avvio activity  (Letto 798 volte)

Offline sgsone

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
problema avvio activity
« il: 21 Settembre 2013, 23:01:55 CEST »
0
Ciao a tutti.

Stavo smanettando un pò con Sipdemo.
Mi ero concentrato sulle chiamate in arrivo e volevo che alla ricezione, si aprisse un'activity con tre bottoni: accetta, rifiuta e inoltra.
Chiaramente al click sui tre si sarebbero avviate le 3 relative azioni.
In ogni caso, non riesco a visualizzare la seconda activity, logcat riporta questo:

java.lang.RuntimeException: Error receiving broadcast Intent { act=android.SipDemo.INCOMING_CALL flg=0x10 (has extras) } in com.example.android.sip.IncomingCallReceiver@41f38f60

Questa è la dichiarazione nell'Android Manifest:

Codice (XML): [Seleziona]
<activity
           android:name=".SipSettings"
           android:label="set_preferences" />
       
          <activity
           android:name=".OutgoingCalling"
           android:label="chiamatainuscita" />

      <receiver android:name=".IncomingCallReceiver" android:enabled="true" android:label="Call Receiver">
        <intent-filter>
       <action android:name="android.SipDemo.INCOMING_CALL" />
    </intent-filter>
      </receiver>
              <activity android:name=".ReceiverCall"
              >
              </activity>

e questo è il file IncomingCallReceiver.java

Codice (XML): [Seleziona]
public class IncomingCallReceiver extends BroadcastReceiver {
        /**
         * Processes the incoming call, answers it, and hands it over to the
         * WalkieTalkieActivity.
         *
         * @param context
         *            The context under which the receiver is running.
         * @param intent
         *            The intent being received.
         */
       
               
        static SipAudioCall incomingCall = null;
        @Override
        public void onReceive(final Context context, Intent intent) {

         Intent i = new Intent();
         i.setClassName("com.example", "com.example.ReceiverCall");
         i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         context.startActivity(i);


        }

        public static void acceptCall() {
            incomingCall.sendDtmf(9);
            try {
                incomingCall.sendDtmf(9);
                incomingCall.answerCall(200);
                //wtActivity.gototimer("i");
            } catch (SipException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

           // wtActivity.gototimer("i");
        }


        public void rejectCaLL() {
            try {
                incomingCall.endCall();
            } catch (SipException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
}

Dove sbaglio?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:problema avvio activity
« Risposta #1 il: 22 Settembre 2013, 09:51:02 CEST »
0
java.lang.RuntimeException: Error receiving broadcast Intent { act=android.SipDemo.INCOMING_CALL flg=0x10 (has extras) } in com.example.android.sip.IncomingCallReceiver@41f38f60

Dove sbaglio?

Quell'errore ti dice (letteralmente) che c'è stato un errore nella parte di codice che riceve i broadcast intent ( Error receiving broadcast Intent ).

Se riapri il LogCat, qualche rigo sotto trovi la causa dell'errore, il file in cui si trova e il numero di riga a cui si è verificato.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline sgsone

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
Re:problema avvio activity
« Risposta #2 il: 23 Settembre 2013, 12:16:00 CEST »
0
Perfetto risolto. Il problema stava nel file che richiamavo.
Però ho due domande:

- Per quanto riguarda le connessioni in uscita, riesco a far partire la telefonata, subito dopo la seconda activity, ma l'audio della voce non viene sentito. Da quanto provavo, ho visto che l'audio veniva interrotto con l'avvio della seconda activity. Che posso fare per "riattivare" l'audio appena sono nella seconda activity?

- Per quanto riguarda le connessioni in entrata: ho visto che il file che gestisce la chiamata in arrivo ha un Broadcast con un onReceive () che intercetta il segnale, apre la chiamata e avvia l'ascolto dell'audio. Però: se volessi fare in modo che alla ricezione del segnale di chiamata, si avviasse un'activity con relativi bottoni di accetta / rifiuta chiamata, come mi conviene muovere?
Dal momento che dentro un broadcast non potrei inserire una setcontentview()? (O per lo meno così so io ...)