Question

Dans ma demande, je le perçois sur appel en cours lorsqu'un appel est composé à partir du numéroteur ou des contacts.

Cela fonctionne bien et je puis pop une boîte de dialogue disant que j'ai détecté l'appel et l'utilisateur appuie sur un bouton pour fermer la boîte de dialogue qui appelle finish () sur cette activité.

Tout fonctionne très bien, sauf que lorsque je puis maintenez la touche d'accueil pour afficher le récemment utilisé applications sur l'icône de numérotation est là.

Et quand on clique dessus la boîte de dialogue est ramené au point au premier plan lorsque l'activité de dialogue doit être mort et disparu et ne pas être en mesure d'être ramené au premier plan.

Voici une image de ce que je veux dire.

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

Alors deux questions se posent, pourquoi l'icône du composeur être placé là et se pourquoi serait-il rappeler mon activité au premier plan?

Voici le code de cette activité qui a un thème de dialogue:

 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       onResume protégé void () {           super.onResume ();

  }

  @Override
  protected void onPause() {

      super.onPause();
  }

  public void onCofigurationChanged(Configuration newConfig) { 

   super.onConfigurationChanged(newConfig); 

   }

}

Il appelle un service qui utilise audiorecord pour enregistrer à partir du micro et AudioTrack à jouer sur l'écouteur, rien dans le service à faire avec le composeur.

Quelqu'un at-il une idée pourquoi cela pourrait se produire?

Était-ce utile?

La solution 2

Après quelques recherches, il semble la mise en œuvre de HTC du composeur a quelques bugs en elle, l'icône de numérotation ne doit jamais apparaître comme le téléphone doit être la redéfinir.

Autres conseils

Le menu des applications récemment utilisées ne se soucie pas si l'application est terminée. Il redémarre juste si oui. Il montre des choses qui ont été récemment utilisées, pas des choses qui sont en cours d'exécution.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top