Android 信号强度的获取

来源:互联网 发布:不用代码做网站 知乎 编辑:程序博客网 时间:2024/04/30 06:45
 如何获得信号的质量受到我们的电话。这篇教程我们将教你如何接收信号强度你随时提供从你的载体。让我们开始以教程:我们将继续学习如何添加一个监听器到电话类,以及如何获得CINR信号质量)(从这听众。我们需要添加权限允许添加接下来的活动:android.permission.CHANGE_NETWORK_STATE“AndroidManifest.xml”文件应该看起来如下:

java代码:
  1. < ?xml version="1.0" encoding="utf-8"?>

  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"

  3. package="eoe.demo"
  4. android:versionCode="1"
  5. android:versionName="1.0">

  6. <application
  7. android:icon="@drawable/icon"
  8. android:label="@string/app_name">

  9. <activity
  10. android:name=".GetGsmSignalStrength"
  11. android:label="@string/app_name">

  12. <intent -filter>
  13. <action android:name="android.intent.action.MAIN" />
  14. <category android:name="android.intent.category.LAUNCHER" />
  15. </intent>
  16. </activity>

  17. </application>

  18. <uses -sdk android:minSdkVersion="4" />
  19. <uses -permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses>
  20. </manifest>
复制代码

       现在让我们开始你的代码。所有的解释就是已建在代码,请阅读这些言论。我们需要增加进口

java代码:
  1. import android.app.Activity;
  2. import android.content.Context;
  3. import android.os.Bundle;
  4. import android.telephony.PhoneStateListener;
  5. import android.telephony.SignalStrength;
  6. import android.telephony.TelephonyManager;
  7. import android.widget.Toast;
复制代码

       onResume,称为申请时重新启动后,被最小化、onPause,称为当应用程序被最小化、onCreate当应用程序,被称为是开始MyPhoneStateListener私人课,称为创造听众代码可以求实创新:

java代码:
  1. public class GetGsmSignalStrength extends Activity{
  2. /* 这个变量需要是全球性的,所以我们可以用它们onResume和onPause方法停止听众*/

  3. TelephonyManager Tel;
  4. MyPhoneStateListener MyListener;

  5. /** Called when the activity is first created. */

  6. @Override
  7. public void onCreate(Bundle savedInstanceState){
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.main);

  10. /* 更新的听众,并且启动它*/

  11. MyListener = new MyPhoneStateListener();
  12. Tel = ( TelephonyManager )getSystemService(Context.TELEPHONY_SERVICE);
  13. Tel.listen(MyListener ,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
  14. }

  15. /* 当应用程序被称为被最小化*/
  16. @Override
  17. protected void onPause(){
  18. super.onPause();
  19. Tel.listen(MyListener, PhoneStateListener.LISTEN_NONE);
  20. }

  21. /* Called when the application resumes */
  22. @Override
  23. protected void onResume(){

  24. super.onResume();
  25. Tel.listen(MyListener,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
  26. }

  27. private class MyPhoneStateListener extends PhoneStateListener{

  28. /*得到信号的强度由每个tiome供应商,有更新*/

  29. @Override
  30. public void onSignalStrengthsChanged(SignalStrength signalStrength){

  31. super.onSignalStrengthsChanged(signalStrength);
  32. Toast.makeText(getApplicationContext(), "Go to Firstdroid!!! GSM Cinr = "+ String.valueOf(signalStrength.getGsmSignalStrength()), Toast.LENGTH_SHORT).show();
  33. }

  34. };/* End of private Class */

  35. }/* GetGsmSignalStrength */
原创粉丝点击