lixyz
V2EX  ›  Android

MIUI 中通话录音是如何确认是拨入还是拨出?

  •  
  •   lixyz · Aug 2, 2021 · 14471 views
    This topic created in 1924 days ago, the information mentioned may be changed or developed.

    在写一个 APP,可以把自己手机上的通话录音保存到云端

    这就涉及到一个拨入和拨出的区别

    通过这个方法可以获取到在 sqlite 中的数据:

                        val recordCursor = context.contentResolver.query(
                            MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
                            null,
                            "${MediaStore.Audio.Media.RELATIVE_PATH} = ?",
                            arrayOf("MIUI/sound_recorder/call_rec/"), null
                        )
    

    但是无法区分是打出的还是打入的

    有没有朋友做过相关的内容啊,是不是在别的表中存着呢?烦请指点一二,感谢感谢

    Supplement 1  ·  Aug 9, 2021
    在 CallLog.Calls 中可以获取到通话记录,可以区分来电去点

    在 MediaStore.Audio.Media 中可以获取到通话录音的记录

    但是找来找去二者没有相对应的字段可以关联起来
    5 replies  •  2021-08-09 18:31:35 +08:00
    ysc3839
    ysc3839
    Aug 2, 2021 via Android
    1
    你这是获取 Android 媒体存储里面缓存的数据吧?这些数据应该是直接扫描相关文件得出的,文件本身没有对应数据,那是获取不到的。
    hervey0424
    hervey0424
    Aug 2, 2021
    2
    通过通话记录应该可以知道吧
    BryanYue
    BryanYue
    Aug 2, 2021❤️1
    3
    写个广播,拿 TelephonyManager.CALL_STATE_IDLE 的 state 来区分状态,通话结束后去取录音
    StonyGround
    StonyGround
    Aug 2, 2021
    4
    CallLog.Calls.TYPE 了解一下
    lixyz
    lixyz
    OP
    Aug 9, 2021
    5
    @StonyGround CallLog.Calls.TYPE 确实可以区分来电去电,但是没有字段是对应录音文件的啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   669 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 20:14 · PVG 04:14 · LAX 12:14 · JFK 15:14
    ♥ Do have faith in what you're doing.