![](/img/trans.png)
[英]How to detect if android application is minimized or not in Android Kotlin
[英]How to detect when an Android application is minimized?
如何檢測Android應用程序何時進入后台? onPause()或onUserLeaveHint()可以工作,但在更改方向或顯示其他活動時也會調用它。
如果方向改變,應用程序將再次調用生命周期,這意味着從oncreate
您可以通過將以下內容寫入清單的代碼來避免它
<activity
android:name=""
android:configChanges="orientation|keyboardHidden|screenLayout|screenSize"
android:label="@string/app_name" />
這告訴系統當方向改變或者keyboardHidden或screenLayout改變時,我將自己處理它,無需重新創建它。
然后在暫停時編寫代碼
試試這個
@Override
protected void onUserLeaveHint()
{
// When user presses home page
Log.v(TAG, "Home Button Pressed");
super.onUserLeaveHint();
}
有關詳細信息: https : //developer.android.com/reference/android/app/Activity.html#onUserLeaveHint()
明確的答案是OP問題的解決方法。 對於尋求答案的我們其他人,您可以使用Android架構組件實現這一目標
import android.arch.lifecycle.LifecycleObserver;
class OurApplication extends Application implements LifecycleObserver {
@Override
public void onCreate() {
super.onCreate();
ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
public void onAppBackgrounded() {
Logger.localLog("APP BACKGROUNDED");
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onAppForegrounded() {
Logger.localLog("APP FOREGROUNDED");
}
}
並記得更新清單文件。 為<application>
標簽設置android:name=".OurApplication"
屬性
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.