Frage

In meiner Bewerbung erkenne ich den Ausruf, wenn ein Anruf aus dem Dialer oder Kontakten gewählt wird.

Dies funktioniert einwandfrei und ich telle dann einen Dialogfeld mit der Aufschrift, dass ich den Anruf erkannt habe, und dann drückt der Benutzer eine Taste, um den Dialog zu schließen, mit dem auf diese Aktivität (FIND () () aufgerufen wird.

Es funktioniert gut, außer dass ich, wenn ich dann den Heimtaste halte, um die kürzlich gebrauchten Apps aufzurufen, das das Dialer -Symbol dort ist.

Und wenn es angeklickt wird, wird der Dialog im Vordergrund wieder in den Fokus geraten, wenn die Dialogaktivität tot sein und weg ist und nicht in den Vordergrund zurückgebracht werden kann.

Hier ist ein Bild von dem, was ich meine.

Dialer -Fehler http://img515.imageshack.us/img515/8505/devicev.png

Es entstehen also zwei Fragen: Warum sollte das Dialer -Symbol dort platziert werden und warum sollte es an meine Aktivität in den Vordergrund erinnern?

Hier ist der Code für diese Aktivität, der ein Dialogthema hat:

 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); 

   }

}

Es ruft einen Dienst auf, der AudioreCord verwendet, um vom Mikrofon und Audiotrack aufzunehmen, um ihn den Ohrhörer abzuspielen, nichts im Dienst, der mit dem Dialer zu tun hat.

Hat jemand eine Idee, warum das möglicherweise passieren könnte?

War es hilfreich?

Lösung 2

Nach einigen Nachforschungen scheint die Implementierung des Dialer durch die HTC einige Fehler zu haben. Das Dialer -Symbol sollte niemals angezeigt werden, da das Telefon es überschreiben sollte.

Andere Tipps

Das kürzlich gebrauchte Apps -Menü ist egal, ob die App fertiggestellt wurde. Es startet es einfach neu, wenn ja. Es zeigt Dinge, die kürzlich verwendet wurden, nicht Dinge, die derzeit ausgeführt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top