【问题标题】:Android - How to know (programmatically) how many times the phone rings?Android - 如何(以编程方式)知道电话响了多少次?
【发布时间】:2017-08-29 21:24:25
【问题描述】:

我正在考虑在应用程序中发送/接收类似莫尔斯的短信,如下所示:
- 电话响了 1 --> "."
- 电话响了 2 次 --> "_"
或:(如果前面的方法不可行)
- 电话响了 1 秒 --> "."
- 电话响了 2 秒 --> "_"

有没有办法知道我以编程方式开始通话时电话响了多少次?
我想知道我们打电话给其他人时听到的声音播放了多少次(例如,在电话响了 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)){
            }
         }
    }
    

    【讨论】:

    • 好主意(忽略所有运营商的时间可能不同)
    • 因为我不认为现在有一个确切的方法可以知道电话响了多少次,而且时间是一个很好的方法,我会接受你的回答,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多