내가 이 변수를 CallEnded에 TelephonyManager 상태 IDLE가 true 값을 감지하면 전화를 만들고 싶어.안드로이드 = TelephonyManager (Intent.ACTION_CALL)
첫 번째 호출은 일반적으로 간다, 그러나 IDLE에 OFFHOOK의 변경이 나는 새 통화 의도를 필요로 할 때 수행 할 수 있지만, 게재 아무 전화도 없다.
내가 무엇이 누락 되었습니까?
감사합니다.
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.support.v4.app.ActivityCompat;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private Boolean CallEnded = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TelephonyManager telephoneM = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener listener = new PhoneStateListener() {
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
if(CallEnded){
performDial();
}
break;
case TelephonyManager.CALL_STATE_RINGING:
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
CallEnded=true;
}
}
};
telephoneM.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
performDial();
}
});
}
private void performDial() {
Intent dial = new Intent(Intent.ACTION_CALL);
dial.setData(Uri.parse("tel:911"));
if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED){
return;
}
}
매니페스트
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
감사합니다, 매우 도움이 임의의 값 체인저 코드 : 그게 문제가 될 수 경우처럼, 당신의 URL의 데이터 일부 끊임없이 변화하는 값을 추가하려고합니다. – anubits