SIMスロット番号別に通話履歴を取得したい。この画像のように:
そのために、私が得るまで多くのサイトを検索しました:
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 SIMスロットIDでデュアルSIMコールログを取得する方法は?
デュアルSIM電話のAndroidからキャリア名を取得するには?
AndroidでデュアルSIMのIMEI番号をプログラムで取得する
しかし、どれも私のために働いていませんでした。
SubscriptionManager クラスを使用して api>21 のデュアル sim で現在の両方の sim の名前を取得しましたが、通話ログで確認できませんでした。
それを行うためのより良い方法を教えてください。