管灌系统巡查员智能手机App
zuoxiao
2024-10-21 c9f622302bbc5a9a30cff341200334c3dd23ffe0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package com.dayu.pipirrapp.observer;
 
import android.util.Log;
import android.view.ViewGroup;
import android.webkit.WebView;
 
import androidx.annotation.NonNull;
import androidx.lifecycle.DefaultLifecycleObserver;
import androidx.lifecycle.LifecycleOwner;
 
/**
 * author: zuo
 * Date: 2024-01-11
 * Time: 17:37
 * 备注:地图页相关逻辑
 */
public class MapFragmenObserver implements DefaultLifecycleObserver {
    static String TAG = "MapFragmen";
    WebView mWebView;
 
 
    public void setmWebView(WebView webView) {
        mWebView = webView;
    }
 
    @Override
    public void onCreate(@NonNull LifecycleOwner owner) {
        DefaultLifecycleObserver.super.onCreate(owner);
        Log.i(TAG, "onCreate");
    }
 
 
    @Override
    public void onResume(@NonNull LifecycleOwner owner) {
        DefaultLifecycleObserver.super.onResume(owner);
        Log.i(TAG, "onResume");
        if (mWebView != null) {
            mWebView.onResume();
        }
        // 恢复 WebView,能正常执行网页的响应
    }
 
 
    @Override
    public void onPause(@NonNull LifecycleOwner owner) {
        DefaultLifecycleObserver.super.onPause(owner);
        Log.i(TAG, "onPause");
        if (mWebView != null) {
            mWebView.onPause(); // 通过 onPause 动作通知内核暂停所有的动作,如 DOM 的解析、plugin 的执行、JavaScript 执行等
        }
    }
 
    @Override
    public void onDestroy(@NonNull LifecycleOwner owner) {
        DefaultLifecycleObserver.super.onDestroy(owner);
        Log.i(TAG, "onDestroy>>>>>>>>>>>>>>>>>>>>>>>>>>>");
        if (mWebView != null) {
            ((ViewGroup) mWebView.getParent()).removeView(mWebView);
            mWebView.destroy(); // 当 Activity 要 destroy 时,应先将 WebView 移除,再 destroy 掉
        }
 
    }
 
}