RSRP값 가져오기
java)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | package com.ghj.rsrpex2; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.telephony.PhoneStateListener; import android.telephony.SignalStrength; import android.telephony.TelephonyManager; import android.util.Log; import android.widget.TextView; public class MainActivity extends AppCompatActivity { TextView txtRsrp; //manager TelephonyManager telephonyManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txtRsrp = (TextView)findViewById(R.id.txtRsrp); //manager telephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); if(telephonyManager.getNetworkType()==TelephonyManager.NETWORK_TYPE_LTE){ //리스너 등록 telephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); } } //리스너 PhoneStateListener mPhoneStateListener = new PhoneStateListener(){ @Override public void onSignalStrengthsChanged(SignalStrength signalStrength) { super.onSignalStrengthsChanged(signalStrength); //RSRP (Reference Signal Received Power) - 단위 dBm (절대크기). - 단말에 수신되는 Reference Signal의 Power String strSignal = signalStrength.toString(); Log.d("SignalStrength", strSignal); txtRsrp.setText("RSRP : "+GetLTE_RSRP(strSignal)); } }; //LTE RSRP 구하기 public int GetLTE_RSRP(String signalStrength){ String[] arrSignal = signalStrength.split(" "); int lteRSRP = 0; try{ if(arrSignal.length>13){ lteRSRP = Integer.parseInt(arrSignal[9]); } }catch (NumberFormatException e){ e.printStackTrace(); } return lteRSRP; } @Override protected void onDestroy() { telephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); super.onDestroy(); } } | cs |
xml)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/txtRsrp" android:textSize="24dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> | cs |
결과
'IT > - 프로그래밍' 카테고리의 다른 글
안드로이드 PCI값 가져오기 (0) | 2016.12.03 |
---|---|
안드로이드 eNB값 가져오기 (0) | 2016.12.03 |
안드로이드 구글플레이로 이동하기 (0) | 2016.12.03 |
안드로이드 설정화면으로 시작하기 (0) | 2016.12.03 |
안드로이드 스피너 커스텀하기 (2) | 2016.12.03 |