Samsung Android 6.0, как получить журналы вызовов с двумя SIM-картами с идентификатором слота для SIM-карты?

Samsung (две сим-карты) до официального устройства Android 6.0 (не см), я мог получить журналы вызовов с идентификатором слота для сим-карты, но устройство Samsung (две сим-карты) Android 6.0+ я получаю проблема:

String  slotId = cursor.getString(cursor.getColumnIndex(CallLog.Calls.PHONE_ACCOUNT_ID));

<i>slotId</i> = null; but in another device (Huawei mate 8) is work fine

Изменил ли Samsung файлы com.android.providers.contacts и contact2.db?

Может ли кто-нибудь направить решение для этого?


person shuabing    schedule 19.04.2016    source источник
comment
Эй, чувак, твой ответ был действительно полезен.. Одна проблема, хотя я не могу зарегистрировать наблюдателя контента на этом uri... есть идеи?   -  person dirtydexter    schedule 01.08.2016
comment
В моем приложении просто зарегистрируйте наблюдателя контента на Uri.parse(CallLog.Calls.CONTENT_URI); этот uri является базовой таблицей базы данных, uri = Uri.parse(content://logs/call); представляет собой представление, созданное из него, поэтому просто создайте одного наблюдателя содержимого на Uri.parse(CallLog.Calls.CONTENT_URI); работает нормально, удачи и удачи   -  person shuabing    schedule 01.08.2016


Ответы (1)


Обновить новость: я нашел одно решение

  boolean s_bSamsung;
if (Build.VERSION_CODES.M <= Build.VERSION.SDK_INT && s_bSamsung){
   uri = Uri.parse("content://logs/call");
}else {
  uri = Uri.parse(CallLog.Calls.CONTENT_URI);
}

использовать sim_id найти слот для sim

person shuabing    schedule 04.11.2016
comment
но я получаю simid=4 для sim 1 и simid=1 sim 2. что это?? то как это решить?. - person Gundu Bandgar; 30.06.2017