跳转拨号界面
var intent = Intent(Intent.ACTION_DIAL)
var data = Uri.parse("tel:" + "10086")
intent.data = data
startActivity(intent)
直接拨打电话
var intent = Intent(Intent.ACTION_CALL)
var data = Uri.parse("tel:" + "10086")
intent.data = data
startActivity(intent)
跳转发送短信界面
val uri = Uri.parse("smsto:10086")
startActivity(Intent(Intent.ACTION_SENDTO, uri).apply {
putExtra("sms_body", "")
})
搜索短信内容
/**
* 模糊查询短信
*/
@SuppressLint("Range")
fun getSmsFuzzyQueryByKey(context: Context, key: String): List<ContactBean>? {
var list = ArrayList<ContactBean>()
//需要查询的字段
var projection = arrayOf(Telephony.Sms.ADDRESS, Telephony.Sms.BODY)
val selection = java.lang.StringBuilder()
selection.append(Telephony.Sms.BODY)
if (key.contains("\'")) {
selection.append(" LIKE '%${key.replace("\'", "")}%' ")
} else {
selection.append(" LIKE '%$key%' ")
}
//Telephony.Sms.CONTENT_URI 短信表
var cursor = context.contentResolver.query(Telephony.Sms.CONTENT_URI, projection, selection.toString(), null, null)
cursor?.let {
while (it.moveToNext()) {
var number = it.getString(it.getColumnIndex(Telephony.Sms.ADDRESS))
var content = it.getString(it.getColumnIndex(Telephony.Sms.BODY))
list.add(ContactBean(number, content))
}
it.close()
}
return list
}
搜索联系人
/**
* 模糊查询联系人
*/
@SuppressLint("Range")
fun getContactsFuzzyQueryByKey(context: Context, key: String): List<ContactBean> {
var list = ArrayList<ContactBean>()
//ContactsContract.CommonDataKinds.Phone 联系人表
val projection = arrayOf(ContactsContract.PhoneLookup.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER)
val selection = StringBuilder()
selection.append(ContactsContract.Contacts.DISPLAY_NAME)
if (key.contains("\'")) {
selection.append(" LIKE '%${key.replace("\'", "")}%' ")
} else {
selection.append(" LIKE '%$key%' ")
}
var cursor: Cursor? = context.contentResolver.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection, selection.toString(), null, null)
cursor?.let {
while (it.moveToNext()) {
var name = it.getString(it.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME))
var number = cursor.getString(it.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER))
list.add(ContactBean(number, name))
}
it.close()
}
return list
}
网友评论