在写一个 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
)
但是无法区分是打出的还是打入的
有没有朋友做过相关的内容啊,是不是在别的表中存着呢?烦请指点一二,感谢感谢
1
ysc3839 2021-08-02 05:35:06 +08:00 via Android
你这是获取 Android 媒体存储里面缓存的数据吧?这些数据应该是直接扫描相关文件得出的,文件本身没有对应数据,那是获取不到的。
|
2
hervey0424 2021-08-02 07:34:25 +08:00
通过通话记录应该可以知道吧
|
3
BryanYue 2021-08-02 10:07:40 +08:00 1
写个广播,拿 TelephonyManager.CALL_STATE_IDLE 的 state 来区分状态,通话结束后去取录音
|
4
StonyGround 2021-08-02 15:20:53 +08:00
CallLog.Calls.TYPE 了解一下
|
5
lixyz OP @StonyGround CallLog.Calls.TYPE 确实可以区分来电去电,但是没有字段是对应录音文件的啊
|