• 第86章、系统服务之TELEPHONY_SERVICE(从零开始学Android)


    TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在应用程序中可以使用这些get方法获取相关数据。

        TelephonyManager类的对象可以通过Context.getSystemService(Context.TELEPHONY_SERVICE)方法来获得,需要注意的是有些通讯信息的获取对应用程序的权限有一定的限制,在开发的时候需要为其添加相应的权限。

    一、设计界面

      1、布局文件

      打开res/layout/activity_main.xml文件。
      输入以下代码:

    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout   
    3.     xmlns:android="http://schemas.android.com/apk/res/android"  
    4.     android:layout_width="match_parent"  
    5.     android:layout_height="match_parent"  
    6.     android:orientation="vertical" >  
    7.   
    8.     <Button  
    9.         android:id="@+id/getphoneinfo"  
    10.         android:layout_width="wrap_content"  
    11.         android:layout_height="wrap_content"  
    12.         android:text="获得手机网络信息" />  
    13.   
    14. </LinearLayout>  
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <Button
            android:id="@+id/getphoneinfo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="获得手机网络信息" />
    
    </LinearLayout>


    二、程序文件

      打开“src/com.genwoxue.contentprovider_b/MainActivity.java”文件。
      然后输入以下代码:

    1. package com.genwoxue.telephony;  
    2.   
    3.   
    4. import android.os.Bundle;  
    5. import android.view.View;  
    6. import android.view.View.OnClickListener;  
    7. import android.widget.Button;  
    8. import android.widget.EditText;  
    9. import android.widget.Toast;  
    10. import android.app.Activity;  
    11. import android.telephony.TelephonyManager;  
    12. import android.content.Context;  
    13.   
    14. public class MainActivity extends Activity {  
    15.   
    16.     private Button btnGet=null;  
    17.       
    18.     @Override  
    19.     protected void onCreate(Bundle savedInstanceState) {  
    20.         super.onCreate(savedInstanceState);  
    21.         setContentView(R.layout.activity_main);  
    22.           
    23.         btnGet=(Button)super.findViewById(R.id.getphoneinfo);  
    24.         btnGet.setOnClickListener(new OnClickListener(){  
    25.             public void onClick(View v)  
    26.             {    
    27.                 StringBuilder info=new StringBuilder();  
    28.                 //获取TelephonyManager服务   
    29.                 TelephonyManager telphony=(TelephonyManager)MainActivity.this.getSystemService(Context.TELEPHONY_SERVICE);  
    30.                 //获取移动服务商名称   
    31.                 info.append(telphony.getNetworkOperatorName()+"☆☆☆");  
    32.                 //获取设备号码   
    33.                 info.append(telphony.getDeviceId()+"☆☆☆");  
    34.                   
    35.                 Toast.makeText(getApplicationContext(), info, Toast.LENGTH_LONG).show();  
    36.             }  
    37.         });  
    38.     }  
    39. }  
    package com.genwoxue.telephony;
    
    
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    import android.app.Activity;
    import android.telephony.TelephonyManager;
    import android.content.Context;
    
    public class MainActivity extends Activity {
    
    	private Button btnGet=null;
    	
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		
    		btnGet=(Button)super.findViewById(R.id.getphoneinfo);
    		btnGet.setOnClickListener(new OnClickListener(){
            	public void onClick(View v)
            	{  
            		StringBuilder info=new StringBuilder();
            		//获取TelephonyManager服务
            		TelephonyManager telphony=(TelephonyManager)MainActivity.this.getSystemService(Context.TELEPHONY_SERVICE);
            		//获取移动服务商名称
            		info.append(telphony.getNetworkOperatorName()+"☆☆☆");
            		//获取设备号码
            		info.append(telphony.getDeviceId()+"☆☆☆");
            		
            		Toast.makeText(getApplicationContext(), info, Toast.LENGTH_LONG).show();
            	}
            });
    	}
    }
    

    三、配置文件

      打开“AndroidManifest.xml”文件。

      然后输入以下代码:

    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     package="com.genwoxue.telephony"  
    4.     android:versionCode="1"  
    5.     android:versionName="1.0" >  
    6.   
    7.     <uses-sdk  
    8.         android:minSdkVersion="11"  
    9.         android:targetSdkVersion="15" />  
    10.       
    11.     <uses-permission android:name="android.permission.READ_PHONE_STATE"/>  
    12.   
    13.     <application  
    14.         android:allowBackup="true"  
    15.         android:icon="@drawable/ic_launcher"  
    16.         android:label="@string/app_name"  
    17.         android:theme="@style/AppTheme" >  
    18.         <activity  
    19.             android:name="com.genwoxue.telephony.MainActivity"  
    20.             android:label="@string/app_name" >  
    21.             <intent-filter>  
    22.                 <action android:name="android.intent.action.MAIN" />  
    23.   
    24.                 <category android:name="android.intent.category.LAUNCHER" />  
    25.             </intent-filter>  
    26.         </activity>  
    27.     </application>  
    28.   
    29. </manifest>  
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.genwoxue.telephony"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk
            android:minSdkVersion="11"
            android:targetSdkVersion="15" />
        
        <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.genwoxue.telephony.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>

    注意:需要在AndroidManifest.xml文件中添加权限:

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

    四、运行结果

      

  • 相关阅读:
    奇虎360安全牛人全球挑战赛无线部…
    C经典之14-双向链表存储1-10---ShinePans
    linux杂谈(十五):ftp的企业应用级的配置(二)
    Cocos2d-x 3.0心得(01)-图片载入与混合模式
    Windows装10gRAC须要注意的几个要点(怎样解决PRKH-1010和PRKR-1062的错误)
    query多选下拉框插件 jquery-multiselect(改动)
    SICP 习题 (1.42)解题总结
    电话号码 【trie树】
    hdu 3854 Glorious Array(线段树or树状数组)
    【转载】CGLib动态代理原理及实现
  • 原文地址:https://www.cnblogs.com/kevincode/p/3844713.html
Copyright © 2020-2023  润新知