Domanda

Nella mia domanda ho rilevare l'out going chiamata quando una chiamata viene composto dal dialer o contatti.

Questo funziona bene e ho poi apparire una finestra di dire che ho rilevato la chiamata e poi l'utente preme un pulsante per chiudere la finestra di dialogo che chiede finitura () su tale attività.

Tutto funziona bene, tranne che quando ho poi premuto il tasto Home per far apparire il recentemente utilizzato applicazioni l'icona dialer è lì.

E quando si fa clic la finestra di dialogo viene riportato a fuoco in primo piano in cui l'attività di dialogo dovrebbe essere morto e andato e non essere in grado di essere portato di nuovo in primo piano.

Ecco una foto di quello che voglio dire.

errore Dialer http://img515.imageshack.us/img515/8505/devicev .png

Quindi due domande sorgono, perché mai l'icona dialer essere sempre messo lì e perché sarebbe ricordando la mia attività in primo piano?

Ecco il codice per tale attività, che ha un tema di dialogo:

 public class CallDialogActivity extends Activity{

 boolean isRecording;
 AudioManager audio_service;

 public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.dialog);
      audio_service = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
      getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);



      Bundle b = this.getIntent().getExtras();
      String number = b.getString("com.networks.NUMBER"); 
      String name = b.getString("com.networks.NAME"); 

      TextView tv = (TextView) findViewById(R.id.voip) ;
      tv.setText(name);

      Intent service = new Intent(CallAudio.CICERO_CALL_SERVICE);
         startService(service);

      final Button stop_Call_Button = (Button) findViewById(R.id.widget35);


      this.setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);


        stop_Call_Button.setOnClickListener(new View.OnClickListener(){
  public void onClick(View v){


   Intent service = new Intent(CallAudio._CALL_SERVICE);

   //this is for Android 1.5 (sets speaker going for a few seconds before shutting down)


   stopService(service);
   Intent setIntent = new Intent(Intent.ACTION_MAIN);
         setIntent.addCategory(Intent.CATEGORY_HOME);
   setIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
   startActivity(setIntent); 
          finish();
             isRecording = false;

   }

 });

        final Button speaker_Button = (Button) findViewById(R.id.widget36);

         speaker_Button.setOnClickListener(new View.OnClickListener(){
       public void onClick(View v){

        if(true){
         audio_service.setSpeakerphoneOn(false);
        }
        else{
         audio_service.setSpeakerphoneOn(true);
        }

       }

      });

}

@Override       protected void onResume () {           super.onResume ();

  }

  @Override
  protected void onPause() {

      super.onPause();
  }

  public void onCofigurationChanged(Configuration newConfig) { 

   super.onConfigurationChanged(newConfig); 

   }

}

Si chiama un servizio che utilizza AudioRecord per registrare dal microfono e AudioTrack a giocare fuori l'auricolare, nulla nel servizio a che fare con il dialer.

Qualcuno ha qualche idea del perché questo potrebbe accadere?

È stato utile?

Soluzione 2

Dopo alcune ricerche sembra implementazione di HTC del combinatore ha qualche bug in esso, l'icona dialer non dovrebbe mai apparire come il telefono dovrebbe essere rilevante di esso.

Altri suggerimenti

Il menu applicazioni utilizzate di recente non importa se l'applicazione è stata terminata. E 'solo lo riavvia in caso affermativo. Si sta dimostrando le cose che sono state usate di recente, non le cose che sono attualmente in esecuzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top