From ec6193939600ca7930193b1d5942b1700baf9e06 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 21 二月 2025 09:20:15 +0800 Subject: [PATCH] 1.巡检记录列表页的实现 2.巡检记录地图展示路径的详情页。 3.处理巡检记录详情页因打开同一个网址导致的webView不显示问题。 4.实现地图页搜索后的地图跳转功能。 5.巡检记录详情页数据加载的优化,默认加载本地数据,当本地没有数据时从服务端获取数据。 --- app/src/main/java/com/dayu/pipirrapp/utils/NetUtils.java | 51 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 43 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/dayu/pipirrapp/utils/NetUtils.java b/app/src/main/java/com/dayu/pipirrapp/utils/NetUtils.java index 9ae2797..ed4ba2b 100644 --- a/app/src/main/java/com/dayu/pipirrapp/utils/NetUtils.java +++ b/app/src/main/java/com/dayu/pipirrapp/utils/NetUtils.java @@ -2,10 +2,15 @@ import android.content.Context; import android.net.ConnectivityManager; +import android.net.Network; import android.net.NetworkCapabilities; import android.net.NetworkInfo; import android.net.NetworkRequest; import android.os.Build; + +import androidx.annotation.NonNull; + +import com.jeremyliao.liveeventbus.LiveEventBus; /** * NetUtils - 缃戠粶鐩稿叧鍏叡鏂规硶 @@ -16,6 +21,10 @@ */ public class NetUtils { public static final String TAG = "NetUtils"; + //鏈夌綉 + public static final int Available = 1; + //鏃犵綉 + public static final int Lost = 2; /** * 鍒ゆ柇褰撳墠鏄惁鏈夌綉缁� @@ -49,26 +58,52 @@ } - public static void registerNetCallBack(Context context, ConnectivityManager.NetworkCallback networkCallback) { + public static void registerNetCallBack(Context context) { + MyLog.d("registerNetCallBack"); // 娉ㄥ唽缃戠粶鐘舵�佺洃鍚� ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); // 鏋勫缓涓�涓� NetworkRequest锛屾寚瀹氭劅鍏磋叮鐨勭綉缁滅被鍨� NetworkRequest networkRequest = new NetworkRequest.Builder() + .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) + .addTransportType(NetworkCapabilities.TRANSPORT_WIFI) // 鐩戝惉 Wi-Fi 缃戠粶 + .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)//// 鐩戝惉绉诲姩鏁版嵁缃戠粶 .build(); // 娉ㄥ唽缃戠粶鐩戝惉 - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - cm.registerNetworkCallback(networkRequest, networkCallback); - } else { - // 瀵逛簬杈冭�佺増鏈紝鍙互浣跨敤鏃х殑鏂规硶娉ㄥ唽缃戠粶鐘舵�佺洃鍚� - // ConnectivityManager.setNetworkCallback() 鏃犳硶鍦� API 绾у埆 24 浠ヤ笅浣跨敤 - } + + cm.registerNetworkCallback(networkRequest, networkCallback); + } // 娉ㄩ攢骞挎挱鎺ユ敹鍣� - public static void unregisterReceiver(Context context,ConnectivityManager.NetworkCallback networkCallback) { + public static void unregisterReceiver(Context context) { + MyLog.d("unregisterReceiver"); ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); cm.unregisterNetworkCallback(networkCallback); } + //缃戠粶鐩戞帶 + static ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() { + @Override + public void onAvailable(@NonNull Network network) { + super.onAvailable(network); + // 杩欓噷鍙互鎵ц缃戠粶鍙敤鍚庣殑閫昏緫锛屾瘮濡傝繘琛屾暟鎹姹傜瓑 + MyLog.d("networkCallback銆媜nAvailable"); + LiveEventBus.get(CommonKeyName.NetworkCallback).post(Available); + } + + @Override + public void onLost(@NonNull Network network) { + super.onLost(network); + // 杩欓噷鍙互鎵ц缃戠粶涓㈠け鍚庣殑閫昏緫锛屾瘮濡傚仠姝㈡暟鎹姹傜瓑 + MyLog.d("networkCallback銆媜nLost"); + LiveEventBus.get(CommonKeyName.NetworkCallback).post(Lost); + } + + @Override + public void onCapabilitiesChanged(@NonNull Network network, @NonNull NetworkCapabilities networkCapabilities) { + super.onCapabilitiesChanged(network, networkCapabilities); + MyLog.d("networkCallback銆媜nCapabilitiesChanged"); + } + }; } -- Gitblit v1.8.0