0
我想知道如何在Android中獲得通話時間,我想在用戶開始通話時啓動計時器,然後在某個特定時間後說5分鐘後我想結束通話,所以我想知道我怎樣才能獲得通話時間?如何獲取Android的通話時長?
我知道我可以通過使用通話記錄得到這個,但我有一個問題,我可以根據我實時獲取數據,當我的通話結束時,只有通話記錄將被更新,然後只有我將能夠獲得時間,但是數據對我來說毫無用處。
我想知道如何在Android中獲得通話時間,我想在用戶開始通話時啓動計時器,然後在某個特定時間後說5分鐘後我想結束通話,所以我想知道我怎樣才能獲得通話時間?如何獲取Android的通話時長?
我知道我可以通過使用通話記錄得到這個,但我有一個問題,我可以根據我實時獲取數據,當我的通話結束時,只有通話記錄將被更新,然後只有我將能夠獲得時間,但是數據對我來說毫無用處。
在您的活動或服務
@Override
public void onCreate()
{
TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
telManager.listen(new MyPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
}
class MyPhoneStateListener extends PhoneStateListener
{
@Override
public void onCallStateChanged(int state, String incomingNumber)
{
switch (state)
{
//When receiving an incoming call
case TelephonyManager.CALL_STATE_RINGING:
// Do whaterver you want
break;
// When user initiates a call or rigth after CALL_STATE_RINGING
case TelephonyManager.CALL_STATE_OFFHOOK:
// set a timer here
break;
// When call ended
case TelephonyManager.CALL_STATE_IDLE:
}
}
}
在您的清單文件中添加
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
這 - 【答案】(http://stackoverflow.com/a/10032910/2024761) – SudoRahul 2013-03-06 05:51:30
爲什麼會有人想要一個5分鐘後結束通話的應用程序? – Squonk 2013-03-06 05:55:40
@ R.J僅適用於來電,當用戶開始通話時,不會收到PHONE_STATE_RINGING。 – 2013-03-06 06:35:46