博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
跨程序共享数据,读取联系人信息
阅读量:6481 次
发布时间:2019-06-23

本文共 3212 字,大约阅读时间需要 10 分钟。

跨程序共享数据,跨进程共享数据

读取联系人信息

1.定义ListView

2.声明权限AndroidManifest.xml

3.处理数据获取与展示

package demo.jq.com.contactstest;import android.content.pm.PackageManager;import android.database.Cursor;import android.provider.ContactsContract;import android.support.annotation.NonNull;import android.support.v4.app.ActivityCompat;import android.support.v4.content.ContextCompat;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Toast;import java.util.ArrayList;import java.util.List;import java.util.jar.Manifest;/** * @author Jim */public class MainActivity extends AppCompatActivity {    /**     * 定义adapter     */    ArrayAdapter
adapter; List
contactsList = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化ListView对象 ListView contactsView = (ListView) findViewById(R.id.contacts_view); // 初始化adapter adapter = new ArrayAdapter
(this,android.R.layout.simple_list_item_1,contactsList); // 设置listview的适配内容 contactsView.setAdapter(adapter); if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { // 设置权限可读 ActivityCompat.requestPermissions(this,new String[]{android.Manifest.permission.READ_CONTACTS},1); } else { // 读取联系人信息 readContacts(); } } private void readContacts() { Cursor cursor = null; try { // 查询联系人数据 cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,null,null,null); if (cursor != null) { while (cursor.moveToNext()) { // 获取联系人姓名 String displayName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); // 获取手机号 String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); contactsList.add(displayName + "\n" + number); } adapter.notifyDataSetChanged(); } } catch (Exception e) { e.printStackTrace(); } finally { if (cursor != null) { cursor.close(); } } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, int[] grantResults) { switch (requestCode) { case 1: if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { readContacts(); } else { Toast.makeText(this,"You denied the permission",Toast.LENGTH_SHORT).show(); } break; default: } }}

转载地址:http://lsfuo.baihongyu.com/

你可能感兴趣的文章
《Oracle高性能自动化运维》一一2.2 队列锁(Enqueue Lock)
查看>>
《jQuery Mobile入门经典》—— 2.3 使用JavaScript完成功能
查看>>
java.lang.UnsupportedOperationException的解决方法
查看>>
SharePoint 2013 安装配置(3-2)
查看>>
让Erlang服务器后台运行
查看>>
APUE笔记七
查看>>
天兔监控安装
查看>>
python笔记-正则表达式
查看>>
Java二进制指令代码解析
查看>>
我的Python学习记录
查看>>
quzatz --Could not load org.quartz.spi.Trigge...
查看>>
qml实现窗口的拖拽效果
查看>>
Centos安装Mysql
查看>>
android Looper 非UI线程中更新UI
查看>>
js if语句多个条件判断
查看>>
AVPacketList结构体和AVPacketQueue结构体
查看>>
PHP操作redis详细讲解
查看>>
Android学习笔记(一)
查看>>
Java 提高篇(一)
查看>>
虚拟化学习笔记
查看>>