读取SIM卡内通讯录 android
找了好久终于可以读取SIM通讯录了
美中不足的是 读取到的数据 也包含了 手机通讯录的数据
不管怎么样 总算是 读到了数据
再把手机通讯录的数据过滤掉就好了
类 Sim
package com.contact.phone;
import java.util.ArrayList;
import java.util.List;
import android.app.ListActivity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.util.Log;
@SuppressWarnings("unused")
public class Sim extends ListActivity {
private String tag = "contact";
private List<String> nameList = new ArrayList<String>();
private List<String> mobileList = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.phone_list);
listSimMetadata();
listSimContact();
setListAdapter(new MyAdapter(Sim.this,nameList,mobileList));
}
private void listSimContact(){
Uri uri = Uri.parse("content://icc/adn");
Cursor contacts = managedQuery(uri , null , null , null , null);
Log.d("contact", contacts.getCount()+"");
while(contacts.moveToNext()){
String name = contacts.getString(contacts.getColumnIndex("name"));
String number = contacts.getString(contacts.getColumnIndex("number"));
Log.d("contact" , name + " = " + number);
nameList.add(name);
mobileList.add(number);
}
contacts.close();
}
/**
* 会把Sim卡和通讯录的数据全部读取出来
* 重叠返回
* 经测试 SIM卡内共有 _id,name,number,emails 四列数值
* 需要权限
* android.permission.READ_CONTACTS
* android.permission.WRITE_CONTACTS
* android.permission.READ_PHONE_STATE
*/
private void listSimMetadata(){
// Uri uri = Uri.parse("content://sim/adn");
Uri uri = Uri.parse("content://icc/adn");
Cursor contacts = managedQuery(uri , null , null , null , null);
Log.d("contact", contacts.getCount()+"");
while(contacts.moveToNext()){
String [] columns = contacts.getColumnNames();
for(int i = 0 ; i < columns.length ; i++){
String key = contacts.getColumnName(i);
String value = contacts.getString(contacts.getColumnIndex(key));
Log.d("contact" , key + " = " + value);
}
Log.d("contact", "==========================================================");
}
contacts.close();
}
}
类 MyAdapter
package com.sgf.contact.phone;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class MyAdapter extends BaseAdapter {
private LayoutInflater layoutInflater;
private List<String> name;
private List<String> mobile;
public MyAdapter(Context context, List<String> name, List<String> mobile) {
layoutInflater = LayoutInflater.from(context);
this.name = name;
this.mobile = mobile;
}
@Override
public int getCount() {
return name.size();
}
@Override
public Object getItem(int position) {
return name.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup par) {
ViewHolder holder = null ;
if (convertView == null) {
convertView = layoutInflater.inflate(R.layout.row_layout, null);
holder = new ViewHolder();
holder.name = (TextView) convertView.findViewById(R.id.name);
holder.mobile = (TextView) convertView.findViewById(R.id.mobile);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.name.setText(name.get(position).toString());
holder.mobile.setText(mobile.get(position).toString());
return convertView;
}
private class ViewHolder {
TextView name;
TextView mobile;
}
}
布局文件 row_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/name"
android:layout_width="100dip"
android:layout_height="40px"
android:layout_weight="1.0"
android:textSize="18sp"
android:textColor="#FFFF00"
android:layout_gravity="right"
/>
<TextView android:id="@+id/mobile"
android:layout_width="wrap_content"
android:layout_height="40px"
android:layout_gravity="center_horizontal"
android:layout_weight="1.0"
android:textSize="16sp"
android:textColor="#008000"
/>
</LinearLayout>
布局文件 phone_list.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"
>
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
></ListView>
</LinearLayout>
读取SIM卡内通讯录 android相关推荐
- android如何读取sim卡联系人信息,Android上如何获取手机和sim卡的联系人信息
需求很明确,获取手机和sim的联系人信息.接口设计也很简介 public interface OnFetchContactsListener { void onFetcherContactsCompl ...
- Android 系统(260)---Android 读取SIM卡参数
Android 读取SIM卡参数 package com.water.activity; import java.util.List; import android.app.Activity; imp ...
- android获取sim卡手机号码,Android 读取SIM卡联系人
Android 5.0之前的版本中,系统只支持单卡,可以使用URI -- content://icc/adn 读取到sim卡里的联系人.附:IccProvider(4.4.4_r1) Android ...
- android负责sim卡的应用,android读取sim卡联系人
SIM的provider是IccProvider.既然是provider,就和操作Contact的provider类似的,只是有一些微小差别. IccProvider的Uri是content://ic ...
- Android读取SIM卡ICCID
方法一,使用TelephonyManager的getSimSerialNumber()获取 TelephonyManager telephonyManager = (TelephonyManager) ...
- 读取SIM卡的状态、sim卡网络
转: http://www.apkbus.com/forum.php?mod=viewthread&tid=12768&fromuid=3402 最近要用到读取联系人的功能,那么联系人 ...
- linux系统读sim卡信息,在Linux下使用串口读取SIM卡上的SMS消息使用C
试图通过linux中的串口读取sms消息,从一张安装在华为3g USB调制解调器内的SIM卡读取.我必须在屏幕上显示一些短信之前执行脚本.有时它显示不寻常的字符.我想要做的就是使用AT命令,c和串行端 ...
- AT指令读取SIM卡的手机号
使用AT命令读取本机号码的步骤 在使用AT+CNUM命令读取SIM卡的本机号码时,会发现有的SIM卡的本机号码能读出,而有的SIM卡的本机号码不能读出,不能读出的原因是SIM卡的本机号码未写入电话本存 ...
- android sim卡联系人存储格式,Android获取手机通讯录、sim卡联系人及调用拨号界面方法...
android获取手机通讯录联系人信息 private void getPhoneContacts() { ContentResolver resolver = this.getContentReso ...
最新文章
- 微软企业库4.1学习笔记(六)创建对象
- bzoj5039:[Jsoi2014]序列维护
- tomcat部署web應用時涉及到的基本概念
- Python时间库—datetime的详解及使用
- 用几何画板演示涡旋电场的方法
- 一个页面同时发起多个ajax请求,会出现阻塞情况
- 那些程序员身上共有的属性,这就是他为什么比你进步快的原因!
- 如何在CentOS上设置MariaDB Galera Cluster 10.0
- 49 - 算法 - 二叉树 - leetcode108.-将有序数组转换为二叉搜索树-中序遍历 - vector
- 微信小程序如何快速生成wxml,wxss,json,js目录文件
- asp文件上传原理及分析
- NLPIR分词系统的使用
- xmpp即时通讯协议的特性---优点和缺点!
- 微信小程序人脸识别认证-微信开放接口
- 回归分析beta值的标准_线性回归分析其中“β、 T 、F”分别是什么含义?
- 如何快速算出一个数的n次方?
- Blender软件介绍与使用心得
- mysql sql 列变成横向_SQL 统计 字段 竖向转横向 (行转列)显示
- frame切换、多窗口切换
- Eigen求特征值与特征向量
热门文章
- re 正则从文本中提取全球电话和邮箱
- ZIGZAG(之字折线)的力量(第一部分)。 开发指标基类
- Bluez移植到mini2440 .
- Microsoft Office InfoPath 2003 如何使用 XML 技术
- python以 划分语句块_Python使用符号____ 标示注释;以____划分语句块。_学小易找答案...
- frp使用systemctl来控制启动
- CRM管理系统如何选型?分别有什么作用?
- python web开发入门_python大佬整理的python web开发从入门到精通学习笔记
- qt槽函数如何传递多个参数_【Qt】信号和槽对值传递参数和引用传递参数的总结...
- 联邦学习论文笔记——FedFair: Training Fair Models In Cross-Silo Fedrated Learning