对于`telephonyService.answerRingingCall();`方法调用,“无法解析telephonyService”错误

时间:2012-05-20 06:51:18

标签: java android reflection

我正在尝试创建一个应用程序,当选中复选框时,该应用程序将自动应答呼叫。我已经将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(); 
            } 

            } 
            }); 

            } 

            } 

2 个答案:

答案 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)