2017-08-29 30 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

因为我不认为有一个确切的方式到现在多少次电话铃声响起,和时间大约是一个好办法,我会接受你的回答,谢谢。 –

相关问题