本文整理自网络,侵删。
在AndroidManifest.template.xml 文件中设置读取联系人的权限:
<uses-permission android:name="android.permission.READ_CONTACTS"/>
下面是代码:
uses
FMX.ListView,
Androidapi.JNI.GraphicsContentViewText,
FMX.Helpers.Android,
Androidapi.JNI.Provider,
Androidapi.JNI.JavaTypes;
//该函数将获取到的联系人信息保存在AList中,其item的text为姓名,detail为号码
procedure QueryContact( AList: TListView);
var
cursorContactsPhone: JCursor;
FieldIndex_name: Integer;
FieldIndex_number: Integer;
I : Integer;
begin
if AList <> nil then
AList.Items.Clear;
// 获取所有联系人
cursorContactsPhone := SharedActivity.getContentResolver.query
(TJCommonDataKinds_Phone.JavaClass.CONTENT_URI,nil,nil,nil,nil);
if AList <> nil then
while (cursorContactsPhone.moveToNext) do
begin
//获取字段的ColumnIndex
FieldIndex_name:= cursorContactsPhone.getColumnIndex
(TJContacts_PeopleColumns.JavaClass.DISPLAY_NAME); //姓名
FieldIndex_number:=cursorContactsPhone.getColumnIndex
(TJCommonDataKinds_Phone.JavaClass.NUMBER); //号码
I := AList.Items.Count;
AList.Items.Add;
AList.Items[I].Text := JStringToString(cursorContactsPhone.getString(FieldIndex_name));
AList.Items[I].Detail :=JStringToString(cursorContactsPhone.getString(FieldIndex_number));
end;
cursorContactsPhone.close;
end;
相关阅读 >>
Delphi中使用词霸2005的动态库xdictgrb.dll实现屏幕取词
更多相关阅读请进入《Delphi》频道 >>