如何在Android设备上获取用户个人资料

时间:2012-11-12 20:14:18

标签: android android-contacts contactscontract accountmanager google-account

我希望能够自动将信息输入到创建帐户表单中,并根据用户已输入设备的信息(如姓名,电子邮件地址,电话号码)建议可能性。我需要一种与API级别8兼容的方法。

1 个答案:

答案 0 :(得分:5)

我找到了Roman Nurik's answer一个非常相似的答案,因此我的答案基于他的答案。这是gist of my answer。您需要向AndroidManifest.xml添加权限和功能才能访问用户的个人资料:

<!-- Allows application to view phone state like using readLine1Number() -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- Required to access the Contacts Provider and user profile -->
<uses-permission android:name="android.permission.READ_PROFILE"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>

<!-- Allows the application to use telephony to get the devices phone number when telephony is available without requiring telephony -->
<uses-feature android:name="android.hardware.telephony" android:required="false"/>

该方法使用Roman描述的两种方法之一,基于设备支持的API级别。它显示了如何利用用户设置的主要字段以及何时设置多个值。它使用TelephonyManager来检索设备的电话号码。