真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android監(jiān)聽?wèi)?yīng)用前/后臺切換實例代碼

前言

在五原等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計、成都做網(wǎng)站 網(wǎng)站設(shè)計制作定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)整合營銷推廣,外貿(mào)網(wǎng)站制作,五原網(wǎng)站建設(shè)費用合理。

這周接到一個需求,需要在應(yīng)用從后臺切換到前臺時,展示我們的廣告。展示頁面其實可以復(fù)用以前的開屏廣告頁,唯一的問題就是如何監(jiān)聽?wèi)?yīng)用從后臺切到了前臺。

正文

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

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

在清單文件中聲明

 

在MyApplication里重寫onTrimMemory方法:

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

onTrimMemory方法為開發(fā)者提供了一個合適的時機,用來釋放掉一些不用的資源,從而讓我們的應(yīng)用在后臺存活更長時間。其中l(wèi)evel參數(shù)就代表我們的應(yīng)用當(dāng)前在內(nèi)存中的狀態(tài),TRIM_MEMORY_UI_HIDDEN代表應(yīng)用從前臺切到了后臺。這個時候我們便可以標(biāo)記應(yīng)用切換到了后臺。

接下來需要監(jiān)聽?wèi)?yīng)用在什么時候回到了前臺:

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來監(jiān)聽所有Activity的生命周期回調(diào),并在onActivityResumed方法中進(jìn)行判斷:調(diào)用了Activity的onResume方法,并且已經(jīng)標(biāo)記為后臺狀態(tài),那么就可以判斷APP回到了前臺。

以下是log輸出:

Android 監(jiān)聽?wèi)?yīng)用前/后臺切換實例代碼

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

結(jié)尾

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


分享標(biāo)題:Android監(jiān)聽?wèi)?yīng)用前/后臺切換實例代碼
網(wǎng)址分享:http://weahome.cn/article/jdehsj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部