Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android獲取手機號碼和運營商信息的方法

Android獲取手機號碼和運營商信息的方法

編輯:Android開發實例

本文實例講述了Android獲取手機號碼和運營商信息的方法。分享給大家供大家參考。具體實現方法如下:

代碼如下:
package com.pei.activity; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 
 
/**
 * class name:AndroidUtilActivity<BR>
 * class description:show get sim card info activity<BR>
 * PS:注意權限 <BR>
 * Date:2012-3-12<BR>
 * @version 1.00
 * @author CODYY)peijiangping
 */ 
public class AndroidUtilActivity extends Activity { 
    private Button button_getSIMInfo; 
    private TextView number; 
    private TextView privoid; 
 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        button_getSIMInfo = (Button) this.findViewById(R.id.getSIMInfo); 
        number = (TextView) this.findViewById(R.id.textView1); 
        privoid = (TextView) this.findViewById(R.id.textView2); 
        button_getSIMInfo.setOnClickListener(new ButtonListener()); 
    } 
 
    class ButtonListener implements OnClickListener { 
 
        @Override 
        public void onClick(View v) { 
            if (v == button_getSIMInfo) { 
                SIMCardInfo siminfo = new SIMCardInfo(AndroidUtilActivity.this); 
                System.out.println(siminfo.getProvidersName()); 
                System.out.println(siminfo.getNativePhoneNumber()); 
                number.setText(siminfo.getNativePhoneNumber()); 
                privoid.setText(siminfo.getProvidersName()); 
            } 
        } 
 
    } 
}

代碼如下:
package com.pei.activity; 
 
import android.content.Context; 
import android.telephony.TelephonyManager; 
 
/**
 * class name:SIMCardInfo<BR>
 * class description:讀取Sim卡信息<BR>
 * PS: 必須在加入各種權限 <BR>
 * Date:2012-3-12<BR>
 * 
 * @version 1.00
 * @author CODYY)peijiangping
 */ 
public class SIMCardInfo { 
    /**
     * TelephonyManager提供設備上獲取通訊服務信息的入口。 應用程序可以使用這個類方法確定的電信服務商和國家 以及某些類型的用戶訪問信息。
     * 應用程序也可以注冊一個監聽器到電話收狀態的變化。不需要直接實例化這個類
     * 使用Context.getSystemService(Context.TELEPHONY_SERVICE)來獲取這個類的實例。
     */ 
    private TelephonyManager telephonyManager; 
    /**
     * 國際移動用戶識別碼
     */ 
    private String IMSI; 
 
    public SIMCardInfo(Context context) { 
        telephonyManager = (TelephonyManager) context 
                .getSystemService(Context.TELEPHONY_SERVICE); 
    } 
 
    /**
     * Role:獲取當前設置的電話號碼
     * <BR>Date:2012-3-12
     * <BR>@author CODYY)peijiangping
     */ 
    public String getNativePhoneNumber() { 
        String NativePhoneNumber=null; 
        NativePhoneNumber=telephonyManager.getLine1Number(); 
        return NativePhoneNumber; 
    } 
 
    /**
     * Role:Telecom service providers獲取手機服務商信息 <BR>
     * 需要加入權限<uses-permission
     * android:name="android.permission.READ_PHONE_STATE"/> <BR>
     * Date:2012-3-12 <BR>
     * 
     * @author CODYY)peijiangping
     */ 
    public String getProvidersName() { 
        String ProvidersName = null; 
        // 返回唯一的用戶ID;就是這張卡的編號神馬的 
        IMSI = telephonyManager.getSubscriberId(); 
        // IMSI號前面3位460是國家,緊接著後面2位00 02是中國移動,01是中國聯通,03是中國電信。 
        System.out.println(IMSI); 
        if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) { 
            ProvidersName = "中國移動"; 
        } else if (IMSI.startsWith("46001")) { 
            ProvidersName = "中國聯通"; 
        } else if (IMSI.startsWith("46003")) { 
            ProvidersName = "中國電信"; 
        } 
        return ProvidersName; 
    } 
}

代碼如下:
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" android:gravity="center"> 
 
    <TextView 
        android:id="@+id/textView1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="TextView" /> 
 
    <TextView 
        android:id="@+id/textView2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="TextView" /> 
 
    <Button 
        android:id="@+id/getSIMInfo" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="獲取手機號" />

希望本文所述對大家的Android程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved