首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在android应用程序的列表中显示呼叫

在android应用程序的列表中显示呼叫
EN

Stack Overflow用户
提问于 2019-09-30 23:24:37
回答 2查看 39关注 0票数 0

我正在尝试开发一个android应用程序,可以在列表中显示呼叫。我用过广播接收器。默认情况下,每个来电都会多次发送PHONE_STATE_CHANGED广播。结果,我得到了列表中一个数字的重复条目。我只想为每个呼叫提供一个条目。据我所知,我必须跟踪广播的状态变化,例如,如果前一个状态为空闲,而新状态为振铃,则仅向列表添加一项。但我不能这样做。有人能帮我吗?下面是显示数字列表的代码。

代码语言:javascript
复制
  class CallReceiver(var mainActivity: MainActivity): BroadcastReceiver(){
     val TAG=CallReceiver::class.java.simpleName
     override fun onReceive(context: Context?,intent: Intent?){
     var action=intent?.action
     val prev:String
     val state:String


    Log.i(TAG,action)
    //intent?.hasExtra(TelephonyManager.EXTRA_STATE)
    if(intent!!.hasExtra(TelephonyManager.EXTRA_STATE))
    {

        state = intent?.getStringExtra(TelephonyManager.EXTRA_STATE)
        Log.i(TAG,"State is: $state")


    }
    if(intent!!.hasExtra((TelephonyManager.EXTRA_INCOMING_NUMBER))){
        val number = 
       intent?.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER)
        mainActivity.addPhoneNumberList(number)
    }
  }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-30 23:58:14

你在正确的轨道上。您应该使用BroadcastReceiver的智能实现来了解电话状态端…上发生的事情一些类已经存在,take a look at this gist可能会帮助你实现你想要的东西!

票数 0
EN

Stack Overflow用户

发布于 2019-09-30 23:33:47

您可以使用hashmap删除重复条目,以便以前的条目覆盖新条目

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58170932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档