zoukankan      html  css  js  c++  java
  • Android 获取信号强度

    大 家看到标题就明白了,我们有的时候在电梯里,有时有的电话有信号,有时有的电话没有信号,这个是非常闹心的,要是我们能监听一下我们自己手机信号的强度就 好了。这样,当我们在等重要的人士的电话,不至于接不到这个电话,如果是这个电话你没有接到的话,可能你的一生就这么平淡的过去,如果你接到了这个电话的 话,也许你的一生就会发生改变。我们应该把机会掌握的自己的手里,这样我们才能去迎接改变自己的机会。不在多说了,我们还是看看代码吧:

           android.permission.CHANGE_NETWORK_STATE接下来的许可:“AndroidManifest.xml”文件应该看起来如下:

    Java代码:


    1. < ?xml version="1.0" encoding="utf-8"?>

    2. < ?xml version="1.0" encoding="utf-8"?>

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

    4. package="Firstdroid.Tutorial.GetGsmSignalStrength"

    5. android:versionCode="1"

    6. android:versionName="1.0">

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

    8. <activity android:name=".GetGsmSignalStrength"

    9. android:label="@string/app_name">

    10. <intent -filter>

    11. <action android:name="android.intent.action.MAIN" />

    12. <category android:name="android.intent.category.LAUNCHER" />

    13. </intent>

    14. </activity>

    15. </application>

    16. <uses -sdk android:minSdkVersion="4" />

    17. <uses -permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses>

    18. </manifest>
    复制代码


           现在我们的权限已经设置好了,就得看看主要都到了什么包。

    Java代码:

    1. package eoe.signal;

    2. import android.app.Activity;

    3. import android.content.Context;

    4. import android.os.Bundle;

    5. import android.telephony.PhoneStateListener;

    6. import android.telephony.SignalStrength;

    7. import android.telephony.TelephonyManager;

    8. import android.widget.Toast;
    复制代码


           现在我们就来看看代码吧

    Java代码:

    1. public class GetGsmSignalStrength extends Activity
    2. {

    3. /* 我们可以用它们onResume和onPause方法停止listene*/

    4. TelephonyManager Tel;

    5. MyPhoneStateListener MyListener;


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

    7. @Override
    8. public void onCreate(Bundle savedInstanceState)
    9. {

    10. super.onCreate(savedInstanceState);

    11. setContentView(R.layout.main);

    12. /* Update the listener, and start it */

    13. MyListener = new MyPhoneStateListener();

    14. Tel = ( TelephonyManager )getSystemService(Context.TELEPHONY_SERVICE);

    15. Tel.listen(MyListener ,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);

    16. }

    17. /* Called when the application is minimized */

    18. @Override
    19. protected void onPause()
    20. {

    21. super.onPause();

    22. Tel.listen(MyListener, PhoneStateListener.LISTEN_NONE);

    23. }



    24. /* Called when the application resumes */

    25. @Override
    26. protected void onResume()
    27. {

    28. super.onResume();

    29. Tel.listen(MyListener,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);

    30. }



    31. /* —————————– */

    32. /* 开始PhoneState听众*/

    33. /* —————————– */

    34. private class MyPhoneStateListener extends PhoneStateListener

    35. {

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

    37. @Override
    38. public void onSignalStrengthsChanged(SignalStrength signalStrength)
    39. {

    40. super.onSignalStrengthsChanged(signalStrength);

    41. Toast.makeText(getApplicationContext(), "Go to Firstdroid!!! GSM Cinr = "

    42. + String.valueOf(signalStrength.getGsmSignalStrength()), Toast.LENGTH_SHORT).show();

    43. }


    44. };



    45. }
  • 相关阅读:
    uni-app-数据缓存
    uni-app-网络请求
    uni-app-上拉加载
    uni-app-下拉刷新
    uni-app-生命周期
    uni-app字体图标
    uni-app-样式
    [Python] ValueError: Unknown resampling filter
    [Python]列表复制以及切片[:][::]解析
    LeetCode 29. 两数相除
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/3606452.html
Copyright © 2011-2022 走看看