概述
目标
读取安卓系统短信.
实现方案
- 添加依赖
implementation 'com.qw:soulpermission:1.3.0'
- 主要代码
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//对按钮添加点击事件
button.setOnClickListener {
readContactsWithPermission()
}
}
/**
* 先申请读取短信权限,再进行读取。
*/
private fun readContactsWithPermission() {
SoulPermission.getInstance()
.checkAndRequestPermission(
Manifest.permission.READ_SMS,
object : CheckRequestPermissionListener {
override fun onPermissionOk(permission: Permission) {
readSms()
}
override fun onPermissionDenied(permission: Permission) {
toast("请授予权限")
}
})
}
/**
* 读取短信并展示总数和其中一条短信内容。
*/
private fun readSms() {
val smsList: ArrayList<String> = getSmsInfo()
if (smsList.isNotEmpty()) {
toast("一共${smsList.size}条短信,其中一条:${smsList.first()}")
}
}
/**
* 读取短信
*/
private fun getSmsInfo(): ArrayList<String> {
val dataList = ArrayList<String>()
val uri = Uri.parse("content://sms/inbox")
contentResolver.query(
uri, null, null, null, null
)?.apply {
while (moveToNext()) {
val displayName = getString(getColumnIndex("body"))
dataList.add(displayName)
}
close()
}
return dataList
}
private fun toast(text: String) =
Toast.makeText(this, text, Toast.LENGTH_LONG).show()
}
源代码
https://gitee.com/cxyzy1/ContentProviderDemo
最后
以上就是甜美奇异果为你收集整理的安卓读取短信目标实现方案源代码的全部内容,希望文章能够帮你解决安卓读取短信目标实现方案源代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复