オーディオを再生するアプリがあります。問題は、アプリを操作しているときに電話がかかってきても、音声が再生され続けることです。これは、音声が人の言っていることを理解するのを難しくするため、問題になります。ユーザーが通話中に呼び出されるメソッドはありますか? そうすれば、そこでオーディオをミュートできます。アクティビティのライフ サイクルを徹底的に調査しましたが、この問題の解決に役立つ情報が見つかりません。皆さんの専門家のアドバイスに本当に感謝しています。
このコードを、他のすべてのアクティビティによって拡張される BaseActivity に入れようとしました。
PhoneStateListener phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
if (state == TelephonyManager.CALL_STATE_RINGING) {
//Incoming call: Pause music
TwentySeconds.stopTimer();
Intent i = new Intent(BaseActivity.this, FinishedBeforeTimer.class);
startActivity(i);
Toast.makeText(BaseActivity.this, "INCOMING CALL", Toast.LENGTH_SHORT).show();
} else if(state == TelephonyManager.CALL_STATE_IDLE) {
//Not in call: Play music
} else if(state == TelephonyManager.CALL_STATE_OFFHOOK) {
//A call is dialing, active or on hold
TwentySeconds.stopTimer();
Intent i = new Intent(BaseActivity.this, FinishedBeforeTimer.class);
startActivity(i);
Toast.makeText(BaseActivity.this, "DIALING", Toast.LENGTH_SHORT).show();
}
しかし、その後、最も奇妙なことが起こります。自分の電話に電話をかけると、電話をかけている電話に、自分の電話に電話できないと言われます。どうしようか迷っていますが、よろしくお願いします。
ありがとう、
リッチ