您的位置:首页 > 移动开发 > Android开发

[Android教程] android读取sim联系人资料的代码

2016-04-20 17:04 417 查看
在获取sim卡联系人前,我们一般会先判断sim卡状态,找到sim卡后再获取它的资料,如下代码我们可以读取sim卡中的联系人的一些信息。

PhoneTest.java

package com.android.test;
http://www.kmrlyy.com/gjjb/33581.html
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);

}
http://www.kmrlyy.com/gongjingxirou/33582.html
private void getSimContacts(String str){

Intent intent = new Intent();

intent.setData(Uri.parse(str));

Uri uri = intent.
4000
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
http://www.kmrlyy.com/gongjingxirou/33583.html
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);

}

}

复制代码

main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<ScrollView android:layout_width="fill_parent"

android:layout_height="fill_parent">

<LinearLayout android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

<TextView android:id="@+id/text"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

</LinearLayout>

</ScrollView>

</LinearLayout>

复制代码

AndroidManefist.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.android.test"

android:versionCode="1"

android:versionName="1.0">
http://www.kmrlyy.com/gongwaiyun/33585.html
<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".PhoneTest"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>www.kmrlyy.com
http://www.kmrlyy.com/gongjingyan/33584.html
</application>

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

</manifest>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: