我正在尝试创建一个应用程序,当选中复选框时,该应用程序将自动应答呼叫。我已经将ITelephony.aidl添加到了com.android.internal.telephony并且已经关注了网络上的信息,但我似乎无法实现它,它不会让我使用answerRingingCall();
方法。错误我收到telephonyService.answerRingingCall();
有什么建议吗?
import android.app.Activity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Toast;
import com.android.internal.telephony.ITelephony;
public class AnswerActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
CheckBox AnswerCheckBox = (CheckBox) findViewById(R.id.answerCheck);
AnswerCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
if (buttonView.isChecked()) {
telephonyService.answerRingingCall();
Toast.makeText(getBaseContext(), "Calls will be answered",
Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(getBaseContext(), "Calls will NOT be answered",
Toast.LENGTH_SHORT).show();
}
}
});
}
}
答案 0 :(得分:0)
您应该在telephonyService.answerRingingCall();
PhoneStateListener
方法
// Create a new PhoneStateListener
listener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
break;
case TelephonyManager.CALL_STATE_RINGING:
// Ringing.. answer now
telephonyService.answerRingingCall();
break;
}
}
答案 1 :(得分:0)