2016-04-19 132 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.什麼是?那麼如何解決這個問題? –

相關問題