1 回答

TA貢獻1772條經驗 獲得超6個贊
您將需要實施,Android.Arch.Lifecycle因為它是處理整個應用程序進入后臺并正確重新啟動的唯一真正方法(有許多處理 Activity 生命周期方法的技巧,但該庫是由 Google 編寫的,以避免那些導致和支持的所有問題自 14(?) 以來的所有 API。
第一:將Xamarin.Android.Arch.Lifecycle.Extensionsnuget 包添加到您的應用程序。
第二:在你的項目中實現一個 Android Application 子類,添加一個IGenericLifecycleObserver并通過以下方式注冊你的觀察者ProcessLifecycleOwner:
注意:您也可以在 Activity 子類中實現這一點,然后將該子類用作所有其他 Activity 的基類(當然除了 Login 之外)。
例子:
[Application]
public class App : Application, IGenericLifecycleObserver
{
public App(IntPtr javaReference, Android.Runtime.JniHandleOwnership transfer) : base(javaReference, transfer) { }
bool Stopped;
public void OnStateChanged(ILifecycleOwner p0, Lifecycle.Event p1)
{
Stopped |= p1 == Lifecycle.Event.OnStop;
if (p1 == Lifecycle.Event.OnStart && Stopped)
{
// app is coming back from being in the background, do something...
Stopped = false; // reset
}
}
public override void OnCreate()
{
base.OnCreate();
ProcessLifecycleOwner.Get().Lifecycle.AddObserver(this);
}
}
- 1 回答
- 0 關注
- 234 瀏覽
添加回答
舉報