2017-08-29 55 views
0

我正在考慮發送/接收類似Morse的短消息的應用程序,如下所示:
- 電話鈴聲1 - >「。」
- 手機響2次 - >「_」
或:(如果以前的方法是不可能的)
- 手機響1秒 - >「。」
- 電話鈴響2秒鐘 - >「_」Android - 如何知道(編程)電話鈴響了多少次?

有一種方法可以知道在以編程方式開始呼叫時電話鈴響了多少次?
我想知道我們打電話給其他人時聽到的聲音有多少次(例如,在電話鈴響了兩次後停止呼叫)(請注意,此方法需要知道此傳出信息呼叫和來電,所以應用程序可以解碼收到的消息)

如果以前的方法是不可能的:是否有可能,至少跟蹤電話振鈴的秒數? (當我們打電話給某人的時候,最多的時候我們聽到第一個戒指就開始計數)

在此先感謝。

回答

1

我不知道是否有可能檢測到電話響了多少次,但是你可以知道需要多少時間才能回答,所以只需要秒數並計算出知道響多少次的時間即可。使用接收器。

public void onReceive(Context context, Intent intent) { 

String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE); 

    if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)){ 
     callTime = System.currentTimeMillis(); 
    }else if(state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK){ 
     answeredTime = System.currentTimeMillis(); 
     timeTaken = answeredTime - callTime; 
     }else if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)){ 
     } 
    } 
} 
+0

好主意(忽略,這可能不是同一時間爲所有運營商) –

+0

因爲我不認爲有一個確切的方式到現在多少次電話鈴聲響起,和時間大約是一個好辦法,我會接受你的回答,謝謝。 –

相關問題