Xamarin.Android で複数のアクティビティを含むアプリケーションを作成しており、アプリケーション全体が停止/復帰したときだけに特定の処理を実行したいと考えています。
一応、その動作を実現することには既に成功しています。
以下リンクを参考に「現在表示されているアクティビティの数を数える」という方法を使いました。
Android: "Application level" Pause and Resume - Stack Overflow
Java
1// 参考コード 2public class ActiveActivitiesTracker { 3 private static int sActiveActivities = 0; 4 5 public static void activityStarted() 6 { 7 if( sActiveActivities == 0 ) 8 { 9 // TODO: Here is presumably "application level" resume 10 } 11 sActiveActivities++; 12 } 13 14 public static void activityStopped() 15 { 16 sActiveActivities--; 17 if( sActiveActivities == 0 ) 18 { 19 // TODO: Here is presumably "application level" pause 20 } 21 } 22}
しかし多くのアプリで必要になりそうなアプリの停止/復帰を検知するという機能が、こんな力技でしか実現できないのは不自然だと感じています。自分が調査した限りでは上記の方法しか見つけられませんでしたが、もっと直接的にアプリケーションが停止/復帰したことを検知する方法は存在しないのでしょうか?
開発環境はXamarin.Androidですが、Java/Kotlinで開発する場合も考え方は大きく変わらないと思いますので、そちらの言語の情報でも構いませんので回答をお願いします。
あなたの回答
tips
プレビュー