在之前项目中有用到关于获取手机联系人的部分,闲置就想和大家分享一下,话不多说,上代码:
java部分:
package com.example.content; import androID.content.ContentResolver; import androID.database.Cursor; import androID.net.Uri; import androID.support.v7.app.AppCompatActivity; import androID.os.Bundle; import androID.util.Log; import androID.vIEw.VIEw; public class MainActivity extends AppCompatActivity { private ContentResolver cr; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); //获取内容访问者 cr = getContentResolver(); } public voID getContacts(VIEw vIEw){ Uri uri=Uri.parse("content://com.androID.contacts/raw_contacts"); Cursor cursor=cr.query(uri,null,null); while(cursor.movetoNext()){ int _ID=cursor.getInt(cursor.getColumnIndex("_ID")); String display_name=cursor.getString(cursor.getColumnIndex("display_name")); Log.i("test",_ID+" "+display_name); Uri urIData=Uri.parse("content://com.androID.contacts/raw_contacts/"+_ID+"/data"); Cursor cursorData=cr.query(urIData,null); while(cursorData.movetoNext()){ String mimetype=cursorData.getString(cursorData.getColumnIndex("mimetype")); String data1=cursorData.getString(cursorData.getColumnIndex("data1")); if("vnd.androID.cursor.item/phone_v2".equals(mimetype)){ Log.i("test"," "+mimetype+" "+data1); } } } } }
xml部分:
<?xml version="1.0" enCoding="utf-8"?> <linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:app="http://schemas.androID.com/apk/res-auto" xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" tools:context="com.example.content.MainActivity"> <button androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="获取手机联系人" androID:onClick="getContacts" /> </linearLayout>
在需要获取系统的东西的时候一定不要忘记给权限啊
AndroIDManifest.xml部分:
<?xml version="1.0" enCoding="utf-8"?> <manifest xmlns:androID="http://schemas.androID.com/apk/res/androID" package="com.example.content"> <!--获取手机的联系人--> <uses-permission androID:name="androID.permission.READ_CONTACTS"></uses-permission> <application androID:allowBackup="true" androID:icon="@mipmap/ic_launcher" androID:label="@string/app_name" androID:roundIcon="@mipmap/ic_launcher_round" androID:supportsRtl="true" androID:theme="@style/Apptheme"> <activity androID:name=".MainActivity"> <intent-filter> <action androID:name="androID.intent.action.MAIN" /> <category androID:name="androID.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
以上是内存溢出为你收集整理的Android ContentProvider实现获取手机联系人功能全部内容,希望文章能够帮你解决Android ContentProvider实现获取手机联系人功能所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)