android10LTE,How to get LTE signal strength in Android?

This is complete working implementation of a sample app which uses a reflection to get LTE signal strength:

import java.lang.reflect.Method;

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.telephony.PhoneStateListener;

import android.telephony.SignalStrength;

import android.telephony.TelephonyManager;

import android.util.Log;

public class MainActivity extends Activity

{

/*

* Some significant methods for LTE: getLteSignalStrength, getLteRssi,

* getLteRsrp and getRsrq. RSRP provides information about signal strength

* and RSSI helps in determining interference and noise information. RSRQ

* (Reference Signal Receive Quality) measurement and calculation is based

* on both RSRP and RSSI.

*/

private SignalStrength signalStrength;

private TelephonyManager telephonyManager;

private final static String LTE_TAG = "LTE_Tag";

private final static String LTE_SIGNAL_STRENGTH = "getLteSignalStrength";

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

// Listener for the signal strength.

final PhoneStateListener mListener = new PhoneStateListener()

{

@Override

public void onSignalStrengthsChanged(SignalStrength sStrength)

{

signalStrength = sStrength;

getLTEsignalStrength();

}

};

// Register the listener for the telephony manager

telephonyManager.listen(mListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);

}

private void getLTEsignalStrength()

{

try

{

Method[] methods = android.telephony.SignalStrength.class.getMethods();

for (Method mthd : methods)

{

if (mthd.getName().equals(LTE_SIGNAL_STRENGTH))

{

int LTEsignalStrength = (Integer) mthd.invoke(signalStrength, new Object[] {});

Log.i(LTE_TAG, "signalStrength = " + LTEsignalStrength);

return;

}

}

}

catch (Exception e)

{

Log.e(LTE_TAG, "Exception: " + e.toString());

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值