600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > php 获取sim卡 android中判断sim卡状态和读取联系人资料的方法

php 获取sim卡 android中判断sim卡状态和读取联系人资料的方法

时间:2023-10-22 01:51:44

相关推荐

php 获取sim卡 android中判断sim卡状态和读取联系人资料的方法

在写程序中,有时候可能需要获取sim卡中的一些联系人资料。在获取sim卡联系人前,我们一般会先判断sim卡状态,找到sim卡后再获取它的资料,如下代码我们可以读取sim卡中的联系人的一些信息。import android.app.Activity;

import android.content.Context;

import android.content.Intent;

import android.database.Cursor;

import .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);

}

}

发布php中文网,转载请注明出处,感谢您的尊重!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。