zoukankan      html  css  js  c++  java
  • 第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"/>

    四、运行结果

      

  • 相关阅读:
    HTML5的结构
    关于本Blog
    Luogu2568 GCD
    CH5102 Mobile Service
    Luogu3146 [USACO16OPEN]248
    Mobile Service
    23、Echarts拓扑图、D3拓扑图
    22、startAngle: 85-88、ECharts之仪表盘、仪表盘镂空且导入外来图片、品牌车、不等距折线图、图片右侧空白再出图片、心电图、多数据单环、单数据单环、单数据双环、饼图效果、经纬度、10年经济指标(无局部放大)
    21、angular1之分页组件(包含在复杂弹窗组件里,分页组件包含勾选、过滤、拖拽、翻页记忆、请求服务、转圈服务、简单弹窗组件、插槽ng-transclude)
    19、angular1全局方法、五种服务类型、过滤、重要指令(ng-)、单选框|复选框|下拉框三者联合案例展示、下拉表格嵌套、子组件向父组件传值、directive自定义标签、获取不到新value、[].forEach|$.each|angular.forEach用法示例、undefined+1、ui.router路由模块、ui.router实际执行步骤、jqLite的API参考、前端路由、类
  • 原文地址:https://www.cnblogs.com/kevincode/p/3844713.html
Copyright © 2011-2022 走看看