我是靠谱客的博主 甜美奇异果,最近开发中收集的这篇文章主要介绍安卓读取短信目标实现方案源代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目标

读取安卓系统短信.

实现方案

  1. 添加依赖
implementation 'com.qw:soulpermission:1.3.0'
  1. 主要代码
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

最后

以上就是甜美奇异果为你收集整理的安卓读取短信目标实现方案源代码的全部内容,希望文章能够帮你解决安卓读取短信目标实现方案源代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部