监测Android(安卓)2G CMCC Signal Strength
16lz
2021-01-26
activity_main.xml
AndroidManifest.xml
MainActivity.java
public class MainActivity extends AppCompatActivity { private TextView tv; private TelephonyManager telephonyManager; private MyPhoneStateListener mListener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv=(TextView) findViewById(R.id.tv); telephonyManager= (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); mListener=new MyPhoneStateListener(); if (ContextCompat.checkSelfPermission(this, Manifest.permission.CHANGE_NETWORK_STATE) != PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CHANGE_NETWORK_STATE},1); }else { telephonyManager.listen(mListener,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); } } @Override public void onRequestPermissionsResult(int requestCode,String[] permissions,int[] grantResults){ switch (requestCode){ case 1: if (grantResults.length>0 && grantResults[0]== PackageManager.PERMISSION_GRANTED){ telephonyManager.listen(mListener,LISTEN_SIGNAL_STRENGTHS); }else { Toast.makeText(this,"You denied permissions",Toast.LENGTH_SHORT).show(); } break; default: } } //PhoneStateListener private class MyPhoneStateListener extends PhoneStateListener{ private int asu=0,lastSignal=0; @Override public void onSignalStrengthsChanged(SignalStrength signalStrength) { super.onSignalStrengthsChanged(signalStrength); asu=signalStrength.getGsmSignalStrength(); lastSignal=-113+2*asu; Log.d("asu", String.valueOf(asu)); Log.d("signal", String.valueOf(lastSignal)); tv.setText("the current signal strength:"+lastSignal+"dBm"); } }}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer