2016-04-19 135 views
2

三星之前官方的Android 6.0(不厘米)设备(双卡),我能得到与SIM卡插槽ID的通话记录,但三星(双卡)的Android 6.0+设备,我碰到一个问题:三星android 6.0如何获得双SIM卡通话记录与SIM卡槽ID?

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 

难道三星修改com.android.providers.contacts和contacts2.db?

有人可以通过此解决方案指导吗?

+0

嗨,老兄你的答案是真正有用的..虽然有一个问题,我不能够在这个URI注册内容观察者... 有任何想法吗? – dirtydexter

+0

在我的应用程序中,只需在Uri.parse(CallLog.Calls.CONTENT_URI)上注册一个内容观察者;这个uri是基础数据库表,uri = Uri.parse(“content:// logs/call”);是从它创建的视图,所以只需在Uri.parse(CallLog.Calls.CONTENT_URI)上创建一个内容观察器;工作正常,祝你好运,祝你好运 – shuabing

回答

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卡插槽

+0

但我simid = 4的SIM 1和SIMID = 1 SIM 2.什么是?那么如何解决这个问题? –

相关问题