中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何判斷Activity是否在前臺顯示

發布時間:2020-06-04 17:50:41 來源:網絡 閱讀:1590 作者:Andy2290 欄目:移動開發

轉載請備注原文地址: https://www.niwoxuexi.com/blog/android00/article/223.html

我們在Android開發過程中,經常會判斷Activity是否在前臺顯示,來處理某些狀態,這里謝了一個靜態方法,供大家參考。

方法一:用ActivityManager管理的Activity棧來操作

public class  CommonUtil{
    /**
     * 判斷某個Activity 界面是否在前臺
     * @param context
     * @param className 某個界面名稱
     * @return                  
     */
    public static boolean  isForeground(Context context, String className) {
        if (context == null || TextUtils.isEmpty(className)) {
            return false;
        }

        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(1);
        if (list != null && list.size() > 0) {
            ComponentName cpn = list.get(0).topActivity;
            if (className.equals(cpn.getClassName())) {
                return true;
            }
        }

        return false;

    }
}

注意:在 AndroidManifest.xml 文件中添加權限,否則會報錯

<uses-permission android:name="android.permission.GET_TASKS"/>

方法二、 在OnResume,和OnPause中記錄一個變量

private bollean isFront = false;

@Override
public void onResume() {
    super.onResume();
    isFront = true;
}

@Override
public void onPause() {
    super.onPause();
    isFront = false;
}


向AI問一下細節

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

AI

南江县| 池州市| 巴楚县| 星座| 白城市| 宁明县| 永川市| 余江县| 定州市| 平阳县| 宜良县| 克什克腾旗| 通渭县| 铁岭县| 利津县| 长治市| 宁陵县| 洮南市| 鹿邑县| 汉源县| 天全县| 伊宁市| 博乐市| 明星| 娄底市| 隆回县| 绥宁县| 磐安县| 海门市| 乌兰浩特市| 正定县| 绥阳县| 建始县| 嘉善县| 洛川县| 北流市| 宁阳县| 临西县| 昌宁县| 和顺县| 光山县|