|
|
|
@ -69,7 +69,7 @@ class SystemFunctionHandler(private val context: Context? = null) { |
|
|
|
"properties" to mapOf( |
|
|
|
"contact" to mapOf( |
|
|
|
"type" to "string", |
|
|
|
"description" to "联系人姓名或电话号码" |
|
|
|
"description" to "电话号码" |
|
|
|
), |
|
|
|
"message" to mapOf( |
|
|
|
"type" to "string", |
|
|
|
@ -112,7 +112,7 @@ class SystemFunctionHandler(private val context: Context? = null) { |
|
|
|
"properties" to mapOf( |
|
|
|
"contact" to mapOf( |
|
|
|
"type" to "string", |
|
|
|
"description" to "联系人姓名或电话号码" |
|
|
|
"description" to "电话号码" |
|
|
|
) |
|
|
|
), |
|
|
|
"required" to listOf("contact") |
|
|
|
@ -1412,33 +1412,20 @@ private class GetContactsListHandler(private val context: Context?) : FunctionHa |
|
|
|
try { |
|
|
|
val contentResolver = context.contentResolver |
|
|
|
|
|
|
|
// 构建查询条件 |
|
|
|
val selection = if (!searchKeyword.isNullOrBlank()) { |
|
|
|
"${ContactsContract.Contacts.DISPLAY_NAME} LIKE ?" |
|
|
|
} else { |
|
|
|
null |
|
|
|
} |
|
|
|
|
|
|
|
val selectionArgs = if (!searchKeyword.isNullOrBlank()) { |
|
|
|
arrayOf("%$searchKeyword%") |
|
|
|
} else { |
|
|
|
null |
|
|
|
} |
|
|
|
|
|
|
|
val projection = arrayOf( |
|
|
|
ContactsContract.Contacts._ID, |
|
|
|
ContactsContract.Contacts.DISPLAY_NAME, |
|
|
|
ContactsContract.Contacts.HAS_PHONE_NUMBER |
|
|
|
) |
|
|
|
|
|
|
|
// 按姓名排序,限制数量 |
|
|
|
val sortOrder = "${ContactsContract.Contacts.DISPLAY_NAME} ASC LIMIT $limit" |
|
|
|
// 按姓名排序 |
|
|
|
val sortOrder = "${ContactsContract.Contacts.DISPLAY_NAME} ASC" |
|
|
|
|
|
|
|
contentResolver.query( |
|
|
|
ContactsContract.Contacts.CONTENT_URI, |
|
|
|
projection, |
|
|
|
selection, |
|
|
|
selectionArgs, |
|
|
|
null, // 不使用任何筛选条件 |
|
|
|
null, // 不使用任何筛选参数 |
|
|
|
sortOrder |
|
|
|
)?.use { cursor -> |
|
|
|
|
|
|
|
|