拨出电话状态

Vin*_*tti 5 android

我的查询是,如果我打电话时另一方的接收方接听我的电话,我希望收到通知.是否可以使用Android SDK.

onCallStateChanged函数仅在Person从他的电话拨打号码(OFFHOOK)并且当呼叫接收者断开呼叫(IDLE)时被呼叫,但是没有State参数知道,另一个人是否已经接听了呼叫?

public class MyPhoneStateListener extends PhoneStateListener{

    public void onCallStateChanged(int state,String incomingNumber){
        Log.d("Checking---->",TelephonyManager.ACTION_PHONE_STATE_CHANGED);
    }
}
Run Code Online (Sandbox Code Playgroud)

当在另一方收到电话时,Logcat仅提供以下信息:

01-19 19:33:30.633: DEBUG/CallNotifier(638): stopRing()... (OFFHOOK state)
01-19 19:33:30.662: DEBUG/Ringer(638): stopRing()...
01-19 19:33:30.694: DEBUG/Ringer(638): - stopRing: null mRingHandler!
01-19 19:33:31.256: DEBUG/PhoneApp(638): updateWakeState: callscreen true, dialer false, speaker false...
01-19 19:33:31.287: DEBUG/PhoneApp(638): updateWakeState: keepScreenOn = false (isRinging false, showingDisc false)
Run Code Online (Sandbox Code Playgroud)

And*_*tha 1

我也有同样的问题。我使用 PhoneStateListener 来接听电话,效果很好。但对于传出呼叫,我只能将 BroadcastReceiver 注册到意图 android.intent.action.NEW_OUTGOING_CALL。

据我所知,没有办法确定对方是否接受了天气。但是,您可以使用 CallLog 离线检索呼叫信息。详细的通话状态事件只能通过内部类 com.android.internal.telephony.Phone 获得,除非您编译自己的 Andoid,否则您将无法访问该内部类。

  • 这没有道理。制造商知道呼叫何时接通。如果他们可以使用,那么您也可以使用。 (2认同)
  • @RKS 是的,这是有道理的。拨号程序拨打电话后,拨出呼叫状态会立即从“CALL_STATE_IDLE”变为“CALL_STATE_OFFHOOK”,即使合作伙伴尚未拿起电话也是如此。 (2认同)