From 3d72bd0dfdd4ecde2a97d883190123b2857e76cc Mon Sep 17 00:00:00 2001 From: liujing Date: Thu, 29 Jul 2021 21:02:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BD=91=E7=BB=9C=E7=9B=91?= =?UTF-8?q?=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo-utils/src/main/AndroidManifest.xml | 5 +- .../network/utils/NetworkStatusUtil.java | 53 +++++++++++++++++++ .../mogo/module/check/view/CheckActivity.java | 29 +++++++--- 3 files changed, 80 insertions(+), 7 deletions(-) create mode 100644 foudations/mogo-utils/src/main/java/com/mogo/utils/network/utils/NetworkStatusUtil.java diff --git a/foudations/mogo-utils/src/main/AndroidManifest.xml b/foudations/mogo-utils/src/main/AndroidManifest.xml index 7447df8a92..900eeecdf7 100644 --- a/foudations/mogo-utils/src/main/AndroidManifest.xml +++ b/foudations/mogo-utils/src/main/AndroidManifest.xml @@ -1,2 +1,5 @@ + package="com.mogo.utils" > + + + diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/network/utils/NetworkStatusUtil.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/network/utils/NetworkStatusUtil.java new file mode 100644 index 0000000000..286043c56f --- /dev/null +++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/network/utils/NetworkStatusUtil.java @@ -0,0 +1,53 @@ +package com.mogo.utils.network.utils; + +import android.content.Context; +import android.os.Build; +import android.telephony.PhoneStateListener; +import android.telephony.SignalStrength; +import android.telephony.TelephonyManager; +import android.util.Log; + +/** + * @author liujing + * @description 网络状态监听 + * @since: 7/29/21 + */ +public class NetworkStatusUtil { + + private static PhoneStatListener phoneStatListener; + private static int mSignalStrength; + + /** + * 监听网络强度 + */ + public static int networkState(Context context) { + TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); + if (telephonyManager == null) { + telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); + } + if (phoneStatListener == null) { + phoneStatListener = new PhoneStatListener(); + } + telephonyManager.listen(phoneStatListener, PhoneStatListener.LISTEN_SIGNAL_STRENGTHS); + return mSignalStrength; + } + + /** + * 监听网络信号的强度变化 + */ + static class PhoneStatListener extends PhoneStateListener { + @Override + public void onSignalStrengthsChanged(SignalStrength signalStrength) { + //获取信号强度变化 + super.onSignalStrengthsChanged(signalStrength); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + mSignalStrength = signalStrength.getLevel(); + return; + } + mSignalStrength = signalStrength.getGsmSignalStrength(); + } + } + +} + + diff --git a/modules/mogo-module-check/src/main/java/com/mogo/module/check/view/CheckActivity.java b/modules/mogo-module-check/src/main/java/com/mogo/module/check/view/CheckActivity.java index c55abe7673..fe92c50f11 100644 --- a/modules/mogo-module-check/src/main/java/com/mogo/module/check/view/CheckActivity.java +++ b/modules/mogo-module-check/src/main/java/com/mogo/module/check/view/CheckActivity.java @@ -3,10 +3,12 @@ package com.mogo.module.check.view; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.net.ConnectivityManager; import android.os.BatteryManager; import android.os.Bundle; import android.os.IBinder; import android.util.Log; +import android.widget.Button; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; @@ -16,6 +18,8 @@ import com.mogo.module.check.R; import com.mogo.module.check.model.CheckItemInfo; import com.mogo.module.common.view.SpacesItemDecoration; import com.mogo.utils.CommonUtils; +import com.mogo.utils.NetworkUtils; +import com.mogo.utils.network.utils.NetworkStatusUtil; import java.util.ArrayList; @@ -30,22 +34,27 @@ public class CheckActivity extends AppCompatActivity { private RecyclerView mRecyclerView; private ArrayList dataArrayList = new ArrayList(); private CheckItemInfo mCheckItemInfo = new CheckItemInfo(); - private Context context = getApplication().getBaseContext(); + private Context context; + private static int mSignalStrength; + private Button mButton; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_check); initView(); - findViewById(R.id.btnBack).setOnClickListener(v -> { - finish(); - }); } /** * 列表View初始化 */ public void initView() { + mButton = findViewById(R.id.btnBack); + context = mButton.getContext(); + mButton.setOnClickListener(v -> { + finish(); + }); + mRecyclerView = findViewById(R.id.check_list); mRecyclerView.setAdapter(new CheckAdapter(context, dataArrayList)); CheckLinearLayout linearLayoutManager = @@ -54,6 +63,8 @@ public class CheckActivity extends AppCompatActivity { mRecyclerView.setLayoutManager(linearLayoutManager); versionCheckResult(); + battery(); + netStatus(); } /** @@ -90,12 +101,18 @@ public class CheckActivity extends AppCompatActivity { int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1); //电量百分比 float batteryPct = level / (float) scale; + Log.d(TAG, "电池百分比" + String.valueOf(batteryPct)); } /** - * 网路 + * 网络 */ - public void netStatus(){ + public void netStatus() { + //网络类型 + String networkType = CommonUtils.getNetworkType(context); + //网络强度 + mSignalStrength = NetworkStatusUtil.networkState(context); + Log.d(TAG, "网络类型:" + networkType + "网络强度:" + mSignalStrength); }