【问题标题】:Do something when other party answer the call and close the call对方接听电话并挂断电话时做某事
【发布时间】:2013-12-25 14:12:06
【问题描述】:

我用这段代码来调用:

Uri callUri = Uri.parse("tel://0000");
Intent callIntent = new Intent(Intent.ACTION_CALL,callUri);
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_NO_USER_ACTION);
startActivity(callIntent);

我想在以下情况下做某事:

  • 对方接听电话
  • 对方挂断电话
  • 用户关闭通话
  • 用户在对方接听电话之前挂断电话

以及如何结束通话

提前致谢

【问题讨论】:

    标签: java android call


    【解决方案1】:

    您应该使用 TelephonyManager 来处理呼叫。看看下面的类...

    private class PhoneCallListener extends PhoneStateListener {
    
            private boolean phoneInACall = false;
    
            @Override
            public void onCallStateChanged(int state, String incomingNumber) {
    
                if (TelephonyManager.CALL_STATE_RINGING == state) {
                    // THE PHONE IS CURRENTLY RINGING!
                }
    
                if (TelephonyManager.CALL_STATE_OFFHOOK == state) {
                    // THE PHONE IS ACTIVE, DIALING OR ON HOLD!
                    phoneInACall = true;
                }
                if (TelephonyManager.CALL_STATE_IDLE == state) {
                    // IDLE - NO ACTIVITY. IF PHONEINACALL WAS TRUE, IT MEANS THE CALL ENDED
                    if (phoneInACall) {
                        // RESTART YOUR MAIN ACTIVITY BECAUSE A CALL ENDED!
                        phoneCalling = false;
                    }
    
                }
            }
        }
    

    您可以在 onCreate 方法中使用此类,方法是创建此 PhoneStateListener 的实例并获取 TelephonyManager 的实例来调用listen 方法来监听接收指定电话状态变化的通知...

    PhoneCallListener phoneCallListener = new PhoneCallListener();
    TelephonyManager telManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
    telManager.listen(phoneCallListener, PhoneStateListener.LISTEN_CALL_STATE);
    

    此代码应该可以帮助您解决问题 :) 祝您好运!

    【讨论】:

      猜你喜欢
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多