音声通話機能を持つ Android アプリ (Java コード) を作成しています。webRTC フレームワークを使用して動作させることができました。ユーザーがアプリの履歴からアプリを停止したり、別のアプリの使用を開始したりしても、音声通話を WhatsApp や Messenger のように動作させたいと考えていました。
そこで、webRTC コードをアクティビティからフォアグラウンド サービスに移行することにしました。私のAudio Call ActivityはUIを処理し、友人の写真、名前、通話タイマーを表示します...そのため、android.os.Messageオブジェクトをバインドして送信することで、ActivityとForeground Serviceの間で通信を行う必要がありました。
SAMSUNG デバイスを使用している場合はすべて正常に動作します。アプリを終了すると、フォアグラウンド サービスの通知をクリックして Call アクティビティに戻ることができ、音声通話は電話を切るまで機能し続けます。
私の問題は、Xiaomi デバイス (redmi note7) を使用したときに発生しました。アプリを強制終了すると、音声通話が停止し、フォアグラウンド サービスが再起動されます。設定から「自動起動」を有効にしても。
ここで解決策を探しましたが、見つかったすべての回答が私のニーズを満たしていませんでした。なぜなら、サービスの再起動を受け入れることができないからです。音声通話を再開したい場合は、もう一度友達に電話する必要があります。
それで、問題は次のとおりです。Xiaomi、Huawei、Oppo ...デバイスがフォアグラウンドサービスを再起動しないようにする方法は?
これは、WhatsApp、Messenger、Instagram などの場合です。