StrictMode使用和查询联系人手机联系人和sim卡联系人
2016-06-28 15:11
387 查看
StrictMode使用
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() .detectAll() .penaltyLog() .build(); StrictMode.setThreadPolicy(policy);
StrictMode最常用来捕捉应用程序的主线程,它将报告与线程及虚拟机相关的策略违例。一旦检测到策略违例(policy violation),你将获得警告,其包含了一个栈trace显示你的应用在何处发生违例。除了主线程
病毒一般会用这段代码 关闭所有检测
StrictMode.setThreadPolicy(new StrictModeThreadPolicyBuilder().permitAll().build());
读取联系人或者短信
详见 :http://www.cnblogs.com/kakafra/archive/2012/10/02/2710347.html
android电话本存放位置:data/data/com.android.provides.contacts/
获取手机联系人
public void getContact(){ //获得所有的联系人 Cursor cur = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); //循环遍历 if (cur.moveToFirst()) { int idColumn = cur.getColumnIndex(ContactsContract.Contacts._ID); int displayNameColumn = cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); do { //获得联系人的ID号 String contactId = cur.getString(idColumn); //获得联系人姓名 String disPlayName = cur.getString(displayNameColumn); //查看该联系人有多少个电话号码。如果没有这返回值为0 int phoneCount = cur.getInt(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); if(phoneCount>0){ //获得联系人的电话号码 Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null); if(phones.moveToFirst()){ do{ //遍历所有的电话号码 String phoneNumber= phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); System.out.println(phoneNumber); }while(phones.moveToNext()); } } } while (cur.moveToNext()); } }
获取sim卡联系人
private Cursor getContacts() { // Run query Uri uri = Uri.parse("content://icc/adn"); //Contacts.People.CONTENT_URI; //Uri uri = Uri.parse("content://sim/adn"); String[] projection = new String[] { "name", "phone" }; String selection = null; String[] selectionArgs = null; String sortOrder = "name"//Contacts.People.NAME// Contacts.PeopleColumns.DISPLAY_NAME + " COLLATE LOCALIZED ASC"; return managedQuery(uri, projection, selection, selectionArgs, sortOrder); }
相关文章推荐
- oc转swift基本语法一
- 批量替换数据库某字段部分内容
- 319. Bulb Switcher
- Android res中各种XML的作用及其解释
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误,未找到或无法访问服务器。错误代码:40
- 数据结构与算法总结0_前言
- 利用git删除远程仓库内文件的方法
- Swiper.js使用方法
- 图片太大加载不出来的解决方法
- export导出数据
- 用CSS制造出光泽一闪而过的图片效果
- RS232电平TTL电平COMS电平
- 使用QEMU创建虚拟机
- js日期格式转换
- C#以管理员权限运行源码,C#软件获取管理员权限,c#获取管理员权限
- [ActionScript 3.0] AS3.0 获取像素点的灰度
- 使用sphinx
- hdu4888Redraw Beautiful Drawings【网络流判是否唯一 输出】2014多校联合
- 2042不容易系列之二(从后往前递推)
- OpenCV 下载驿站(百度云盘下载,同步更新)