Android- 다이얼러 아이콘이 최근에 사용 된 앱에 배치됩니다 ()
-
18-09-2019 - |
문제
내 응용 프로그램에서는 전화기가 다이얼러 또는 연락처에서 전화를 걸 때 출시 통화를 감지합니다.
이것은 제대로 작동하고 전화를 감지 한 다음 사용자가 해당 활동에서 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의 다이얼러 구현에는 몇 가지 버그가있는 것으로 보이며 전화기가이를 재정의해야하므로 다이얼러 아이콘이 나타나지 않아야합니다.
다른 팁
최근에 중고 앱 메뉴는 앱이 완료되었는지 신경 쓰지 않습니다. 그렇다면 다시 시작합니다. 그것은 현재 현재 진행 중이 아니라 최근에 사용 된 것들을 보여주고 있습니다.