Heim Java javaLernprogramm So ermitteln Sie den SIM-Kartenstatus und lesen Kontaktinformationen in Android

So ermitteln Sie den SIM-Kartenstatus und lesen Kontaktinformationen in Android

Nov 10, 2016 am 11:04 AM

Wenn Sie ein Programm schreiben, müssen Sie manchmal einige Kontaktinformationen auf der SIM-Karte abrufen. Bevor wir die SIM-Kartenkontakte abrufen, ermitteln wir normalerweise zuerst den Status der SIM-Karte und erhalten dann deren Informationen, nachdem wir die SIM-Karte gefunden haben. Mit dem folgenden Code können wir einige Informationen zu den Kontakten auf der SIM-Karte lesen.

import android.app.Activity;  
import android.content.Context;  
import android.content.Intent;  
import android.database.Cursor;  
import android.net.Uri;  
import android.os.Bundle;  
import android.telephony.TelephonyManager;  
import android.widget.TextView;  
     
public class PhoneTest extends Activity {  
    private TextView mTextView;  
    protected Cursor mCursor = null;  
    private TelephonyManager mTelephonyManager;  
    private String mString = "";  
         
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        mTextView = (TextView)findViewById(R.id.text);  
        mTextView.setTextSize(20.3f);  
        isSimExist();  
        if(getSimState() == TelephonyManager.SIM_STATE_READY){  
            mString += "    卡存在\n";  
            getSimContacts("content://icc/adn"); //一般用这一条,如果这条不行的话可以试试下面的一条。  
            getSimContacts("content://sim/adn");//此种读法在我们手机里不能读取,所以,还是用上个uri比较好。  
        }  
        mTextView.setText(mString);  
    }  
         
    private void getSimContacts(String str){  
        Intent intent = new Intent();  
        intent.setData(Uri.parse(str));  
        Uri uri = intent.getData();  
        mCursor = getContentResolver().query(uri, null, null, null, null);  
        if(mCursor == null){  
            mString += "不能从" + str + "读数据\n";  
            return ;  
        }  
        mString += "第一列:" + mCursor.getColumnName(0) + "\n";  
        mString += "第二列:" + mCursor.getColumnName(1) + "\n";  
        mString += "第三列:" + mCursor.getColumnName(2) + "\n";  
        mString += "第四列:" + mCursor.getColumnName(3) + "\n";  
        mString += "列数:" + mCursor.getColumnCount() + "\n";  
        mString += "行数:" + mCursor.getCount() + "\n";  
        if (mCursor != null) {  
            while (mCursor.moveToNext()) {  
                // 取得联系人名字  
                int nameFieldColumnIndex = mCursor.getColumnIndex("name");  
                mString += mCursor.getString(nameFieldColumnIndex)+"    ";  
                // 取得电话号码  
                int numberFieldColumnIndex = mCursor  
                        .getColumnIndex("number");  
                mString += mCursor.getString(numberFieldColumnIndex)+"    ";  
                // 取得邮箱  
                int emailsFieldColumnIndex = mCursor  
                        .getColumnIndex("emails");  
                mString += mCursor.getString(emailsFieldColumnIndex)+"    ";  
                // 取得id  
                int idFieldColumnIndex = mCursor  
                        .getColumnIndex("_id");  
                mString += mCursor.getString(idFieldColumnIndex)+"\n";  
            }  
        }  
        mString += mCursor + "\n";  
        mCursor.close();  
    }  
         
    private int getSimState(){  
        return mTelephonyManager.getSimState();  
    }  
         
    private void isSimExist(){  
        mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);  
         int simState = mTelephonyManager.getSimState();  
     
         switch (simState) {  
     
             case TelephonyManager.SIM_STATE_ABSENT:  
                 mString = "无卡";  
                 // do something  
                 break;  
     
             case TelephonyManager.SIM_STATE_NETWORK_LOCKED:  
                 mString = "需要NetworkPIN解锁";  
                 // do something  
     
                 break;  
     
             case TelephonyManager.SIM_STATE_PIN_REQUIRED:  
                 mString = "需要PIN解锁";  
                 // do something  
                 break;  
     
             case TelephonyManager.SIM_STATE_PUK_REQUIRED:  
                 mString = "需要PUN解锁";  
                 // do something  
                 break;  
     
             case TelephonyManager.SIM_STATE_READY:  
                 mString = "良好";  
                 // do something  
                 break;  
     
             case TelephonyManager.SIM_STATE_UNKNOWN:  
                 mString = "未知状态";  
                 // do something  
                 break;  
         }  
         mTextView.setText(mString);  
    }  
         
}
Nach dem Login kopieren


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)