2017-10-23 3 views
-3

私はWebRtc Calling Appで作業しています。着信コールがCalling Activity PopsUpに来たときにアプリケーションがバックグラウンドになっているときコールがハングアップすると、私は最近のバックグラウンド状態にアプリを送信する必要があります。 私は解決策moveTaskToBack()を訪れましたが、これは完璧に機能していますが、問題を最後のアクティビティが2または3秒間表示されてから最後のアプリケーションに戻って終了します。 onStop()でも試しましたが、結果は変わりません。アプリを最近のアプリスタックに送り返すandroid

@Override 
protected void onDestroy() { 
    moveTaskToBack(true); 
} 

滞りなくmoveTaskToBack()のより良い代替手段はありますか?誰かが質問でより明確にする必要がある場合は、私にコメントでお知らせください。前もって感謝します。

+0

[popBackStack](https://developer.android.com/reference/android/app/FragmentManager.html#popBackStack())を代わりに使用してください。 – Jerrol

+0

どのようなソリューションの人? – ADM

+0

Dunno。私は 'moveTaskToBack()'にあまり慣れていません。 'finish()'自体はあなたが望むことをしないのですか?つまり、あなたがしようとしていることは、ここではわかりません。 –

答えて

0

Activity Lifecycleに呼び出されることを保証していないので、あなたは、それonDestroyを行うべきではありません。

onStop()メソッドでは、アプリケーションは、ユーザーが使用していない間は不要なほぼすべてのリソースを解放する必要があります。たとえば、onStart()にBroadcastReceiverを登録してUIに影響する可能性のある変更をリスンする場合、ユーザーはUIを見ることができなくなるため、onStop()でブロードキャスト受信者の登録を解除できます。アクティビティの最後のonDestroy()コールバックを呼び出さずにアクティビティをホストしているプロセスをシステムが終了させる可能性があるため、onStop()を使用してメモリーがリークする可能性のあるリソースを解放することも重要です。

オンデストロイを呼び出すのに時間がかかることがあります。アクティビティを終了する場所で呼び出すことができます。

+0

同じmoveTaskToBackを使用したonStop()の結果。 – ADM

関連する問題