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 掉
|
}
|
|
}
|
|
}
|