1

チェックボックスがオンになっているときに自動的に通話に応答するアプリケーションを作成しようとしています。ITelephony.aidl を com.android.internal.telephony に追加し、Web 上の情報を追跡しましたが、うまくいかないようで、answerRingingCall();メソッドを使用できません。エラー「telephonyService を解決できません」が表示されます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(); 
            } 

            } 
            }); 

            } 

            } 
4

2 に答える 2

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;
        }
   }
于 2012-05-20T07:00:57.847 に答える
0

answerPhoneAidl次のリンク の方法を見てみてください: https://code.google.com/p/auto-answer/source/browse/trunk/src/com/everysoft/autoanswer/AutoAnswerIntentService.java

于 2013-05-15T07:35:37.373 に答える