2017-08-29 4 views
0

私は、以下のようにモールスのような短いメッセージを送受信するアプリケーションを考えています:
- phone rings 1 - > "。"
- 電話の呼び出し回数2回 - > "_"
または:(以前の方法が不可能な場合)
- 1秒間の電話呼び出し回数 - > "
- 2秒間の電話の呼び出し - > "_"Android - どのように何回電話が鳴るか(プログラムで)知るには?

プログラムで呼び出しを開始したときに電話が何回鳴るかを知る方法はありますか?
他の人に電話をしたときに聞こえる音が何回再生されたかを知りたいと思います(電話の呼び出し音が2回鳴った後に電話を止めるなど)(この方法では、アプリケーションが受信したメッセージをデコードできるように)

以前の方法が不可能な場合は、少なくとも電話の呼び出し音の秒数を追跡できますか? (誰かに電話をしているときは、最初の音が聞こえるとカウントが始まります)

ありがとうございます。

答えて

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

を(これは全てのキャリアのために同じ時間ではないかもしれないことを無視して)に今何回電話が鳴ると、タイミングが周りに良い方法です私はあなたの答えを受け入れます、ありがとう。 –

関連する問題