91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android 監聽應用前/后臺切換實例代碼

發布時間:2020-09-04 20:30:45 來源:腳本之家 閱讀:153 作者:實例波 欄目:移動開發

前言

這周接到一個需求,需要在應用從后臺切換到前臺時,展示我們的廣告。展示頁面其實可以復用以前的開屏廣告頁,唯一的問題就是如何監聽應用從后臺切到了前臺。

正文

在眾多方法中,我采用了以下這種方式。廢話不多說,咱們直接看代碼:

//自定義Application類
public class MyApplication extends Application

在清單文件中聲明

 <application
    android:name=".MyApplication"  
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

在MyApplication里重寫onTrimMemory方法:

  @Override
  public void onTrimMemory(int level) {
    super.onTrimMemory(level);
    if (level == TRIM_MEMORY_UI_HIDDEN) {
      isBackGround = true;
      Log.i("bo", "APP遁入后臺");
    }
  }

onTrimMemory方法為開發者提供了一個合適的時機,用來釋放掉一些不用的資源,從而讓我們的應用在后臺存活更長時間。其中level參數就代表我們的應用當前在內存中的狀態,TRIM_MEMORY_UI_HIDDEN代表應用從前臺切到了后臺。這個時候我們便可以標記應用切換到了后臺。

接下來需要監聽應用在什么時候回到了前臺:

registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
      @Override
      public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
      }

      @Override
      public void onActivityStarted(Activity activity) {
      }

      @Override
      public void onActivityResumed(Activity activity) {
        if (isBackGround) {
          isBackGround = false;
          Log.i("bo", "APP回到了前臺");
        }
      }

      @Override
      public void onActivityPaused(Activity activity) {
      }

      @Override
      public void onActivityStopped(Activity activity) {
      }

      @Override
      public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
      }

      @Override
      public void onActivityDestroyed(Activity activity) {
      }
    });

我們使用registerActivityLifecycleCallbacks來監聽所有Activity的生命周期回調,并在onActivityResumed方法中進行判斷:調用了Activity的onResume方法,并且已經標記為后臺狀態,那么就可以判斷APP回到了前臺。

以下是log輸出:

Android 監聽應用前/后臺切換實例代碼

以上就是我對這個問題的解決方案。

結尾

這個方案要求API大于等于14,因為registerActivityLifecycleCallbacks方法要求API在14以上。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇州市| 大理市| 剑阁县| 温宿县| 五原县| 抚松县| 澎湖县| 紫云| 旅游| 股票| 淅川县| 长沙县| 林西县| 黑水县| 大石桥市| 岫岩| 运城市| 平和县| 广汉市| 博客| 安泽县| 彭泽县| 上林县| 石屏县| 漾濞| 深水埗区| 都兰县| 道真| 元谋县| 大同市| 屯留县| 山东省| 肃宁县| 宜丰县| 宁津县| 梓潼县| 莒南县| 民乐县| 天全县| 北流市| 盐边县|