delphi xe5 android获取手机联系人,并用listview显示


本文整理自网络,侵删。

 在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只获取文件名(不带扩展名)

Delphi中判断字符串是否为数字

如何在Delphi xe中通过ftp下载文件

Delphi xe10.x 快捷失灵解决办法

Delphi xe中 exit 的新用法

Delphi 调用单元unit代码

Delphi inttohex 查看字符的十六进制值

Delphi dll初始化和退出处理

Delphi 处理以逗号分隔的长字符串

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...