gpt4 book ai didi

android - 在 Marshmallow 及以下 android 中通过 sim 插槽获取通话记录

转载 作者:太空狗 更新时间:2023-10-29 14:44:57 24 4
gpt4 key购买 nike

我想通过 sim 插槽号码获取通话记录历史记录。喜欢这张图片:

Call Details want to fetch

为此我搜索了很多网站,直到我得到:

Cursor managedCursor = getActivity().managedQuery(CallLog.Calls.CONTENT_URI, null,
null, null, strOrder);
int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);
int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE);
int date = managedCursor.getColumnIndex(CallLog.Calls.DATE);
int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);
int account = 0;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
account = managedCursor.getColumnIndex(CallLog.Calls.PHONE_ACCOUNT_COMPONENT_NAME);//for versions above lollipop
ac_id = managedCursor.getColumnIndex(CallLog.Calls.PHONE_ACCOUNT_ID);

}

目前正在根据 android 文档获取 PHONE_ACCOUNT_COMPONENT_NAME 和 PHONE_ACCOUNT_ID,但如何使用它获取 sim 插槽

点击此链接:

Samsung android 6.0 how to get dual sim call logs with sim slot id?

Get calls from log by specific SIM

How to get carrier name from dual sim phone Android?

Programmatically retrieve IMEI number for dual SIM in android

但它们都不适合我。

我使用 SubscriptionManager 类在 api>21 中获得了双卡双卡中当前双卡的名称,但无法在通话记录中检查它。

请建议我更好的方法。

最佳答案

您可以在CallLog中查询以下列:https://developer.android.com/reference/android/provider/CallLog.Calls.html#PHONE_ACCOUNT_ID

确保您拥有以下权限集:

<uses-permission android:name="android.permission.READ_CALL_LOG" />

然后添加如下Java代码获取列:

Uri allCalls = Uri.parse("content://call_log/calls");
Cursor c = managedQuery(allCalls, null, null, null, null);
String id = c.getString(c.getColumnIndex(CallLog.Calls.PHONE_ACCOUNT_ID));

关于android - 在 Marshmallow 及以下 android 中通过 sim 插槽获取通话记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41605423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com