2016-04-19 21 views
2

Samsung (Dual-SIM), bevor offical Android 6.0 (nicht cm) Gerät, kann ich Anrufprotokolle mit SIM-Slot-ID, aber Samsung (Dual-SIM) Android 6.0+ Gerät bekomme ich ein Problem aufgetreten:Samsung Android 6.0 Wie bekomme ich Dual-SIM-Anruf-Protokolle mit SIM-Slot-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 

Did Samsung ändern Sie die com.android.providers.contacts und contacts2.db?

Kann jemand durch die Lösung dafür führen?

+0

Hey Mann Ihre Antwort war sehr hilfreich .. Ein Problem, obwohl ich nicht in der Lage bin einen Gehalt Beobachter auf dieser uri registrieren ... irgendwelche Ideen? – dirtydexter

+0

In meiner App registrieren Sie einfach eine Inhaltsbeobachtung auf Uri.parse (CallLog.Calls.CONTENT_URI); Diese URI ist die Basis-Datenbanktabelle, uri = Uri.parse ("content: // logs/call"); ist eine Ansicht, die von ihr erstellt wird, erstellen Sie also einfach eine Inhaltsbeobachtung auf Uri.parse (CallLog.Calls.CONTENT_URI); funktioniert gut, habe gute und viel Glück – shuabing

Antwort

1

News Update: Ich finde eine Lösung

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); 
} 

Verwendung sim_id zu finden sim Schlitz

+0

aber ich bekomme simid = 4 für sim 1 und simid = 1 sim 2. was ist das ?? dann, wie man das löst? –