문제

내 응용 프로그램에서는 전화기가 다이얼러 또는 연락처에서 전화를 걸 때 출시 통화를 감지합니다.

이것은 제대로 작동하고 전화를 감지 한 다음 사용자가 해당 활동에서 Minish ()을 호출하는 대화 상자를 닫는 버튼을 눌렀다는 대화 상자를 나타냅니다.

최근에 사용 된 앱을 제기하기 위해 홈 키를 잡을 때 다이얼러 아이콘이 있다는 점을 제외하고는 모두 잘 작동합니다.

그리고 클릭하면 대화 상자 활동이 죽고 사라져서 전경으로 되돌릴 수 없을 때 대화 상자가 전경에서 다시 초점을 맞 춥니 다.

다음은 내가 의미하는 바입니다.

다이얼러 오류 http://img515.imageshack.us/img515/8505/devicev.png

그래서 두 가지 질문이 생깁니다. 왜 다이얼러 아이콘이 거기에 배치되고 왜 전경에 대한 내 활동을 회상 하는가?

대화 테마가있는 활동에 대한 코드는 다음과 같습니다.

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

   }

}

Audiorecord를 사용하여 마이크와 오디오 트랙에서 녹음하여 이어 피스를 재생하는 서비스를 호출하는 서비스를 호출합니다.

왜 이런 일이 일어날 지 아는 사람이 있습니까?

도움이 되었습니까?

해결책 2

일부 연구 후에는 HTC의 다이얼러 구현에는 몇 가지 버그가있는 것으로 보이며 전화기가이를 재정의해야하므로 다이얼러 아이콘이 나타나지 않아야합니다.

다른 팁

최근에 중고 앱 메뉴는 앱이 완료되었는지 신경 쓰지 않습니다. 그렇다면 다시 시작합니다. 그것은 현재 현재 진행 중이 아니라 최근에 사용 된 것들을 보여주고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top