第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"/>

四、运行结果

  

posted @ 2014-07-15 14:25  xiaoaidelala  阅读(393)  评论(0编辑  收藏  举报