繁体   English   中英

如何使用 Kotlin 记录 Android 设备中的呼叫?

[英]How To Record Calls In Android Devices Using Kotlin?

我想制作一个 Android 应用程序,它可以在 kotlin 中作为服务在后台记录传入和传出呼叫,并且在一天中的特定时间,它通过 ZDB974238714CA8DE6434A7CE1D08A 将所有记录发送到服务器。 我对此进行了研究,发现只是使用Device Policy ManagerTelephoney Manager ,但在互联网上并没有太多关于它的内容。 那么你能帮我写任何文章、文档或教程吗?

谷歌目前还没有解决方案。 Google 已弃用在其最新版本的 Android 操作系统中记录通话的功能。 早些时候有可能,我尝试了各种方法,但是当我尝试记录通话时,我才得到无声的音频。 当使用谷歌的电话应用程序时,它只允许该应用程序使用麦克风和其他东西,它不会允许任何其他应用程序压倒并获得该硬件访问权限。

但实际上有两个技巧可以做到这一点。

  1. 构建您自己的电话应用程序,例如 Truecaller 并管理来自该应用程序的每个呼叫和其他事情,您可以访问在您的设备上管理呼叫,您还可以访问记录呼叫。
  2. 如果您的工作特定于三星、OnePlus 等任何一个移动示例,那么您可以使用任何 Truecaller 或 Google 的电话应用程序,它将通话录音存储在文件存储中,然后您可以提供服务来上传该通话录音每天晚上 12 点左右从那个特定的文件位置。

首先创建 MyCallRecordReceiver class

    class MyCallRecordReceiver(callRecord: CallRecord) : CallRecordReceiver(callRecord) {


    override fun onIncomingCallReceived(context: Context, number: String?, start: Date) {
        super.onIncomingCallReceived(context, number, start)
    }
}

然后在 MainActivity

class MainActivity : AppCompatActivity() {

companion object {
    private val TAG = MainActivity::class.java.simpleName
}

private lateinit var callRecord: CallRecord

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
  
    callRecord = CallRecord.Builder(this)
        .setLogEnable(true)
        .setRecordFileName("CallRecorderTestFile")
        .setRecordDirName("CallRecorderTest")
        .setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION)
        .setShowSeed(true)
        .build()

}

fun StartCallRecordClick(view: View) {
    LogUtils.i(TAG, "StartCallRecordClick")
    callRecord.startCallReceiver()

}

fun StopCallRecordClick(view: View) {
    LogUtils.i(TAG, "StopCallRecordClick")
    callRecord.stopCallReceiver()

}
}

此外,将其作为依赖项添加到您应用的 build.gradle 文件中

    allprojects {
  repositories {
    maven { url 'https://jitpack.io' }  
  }
}

和这个

compile 'com.github.aykuttasil:CallRecorder:1.5.3'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM