2016-04-19 5 views
2

サムスン(デュアルSIM)、サムスン(デュアルSIM)のAndroid 6.0+デバイス私は問題を得る:サムスンアンドロイド6.0シムスロットIDでデュアルSIMコールログを取得する方法は?公式アンドロイド6.0(ないCM)デバイスの前に、私は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 

はなかったですsamsungはcom.android.providers.contactsとcontacts2.dbを変更しますか?

この問題を解決する方法はありますか?

+0

を見つけるsim_id見つける私はこのURIのコンテンツオブザーバを登録することはできないのですけれども男ねえ、あなたの答えは...一つの問題は本当に役立ちました... 何か案は? – dirtydexter

+0

私のアプリでは、Uri.parse(CallLog.Calls.CONTENT_URI)にコンテンツオブザーバを登録するだけです。このURIは基本データベーステーブルです。uri = Uri.parse( "content:// logs/call"); Uri.parse(CallLog.Calls.CONTENT_URI)で1つのコンテンツオブザーバを作成するだけです。 – 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スロットに

+0

しかし、simid = 4のsim 1とsimid = 1 sim 2.これは何ですか?どのようにこれを解決する? –