2013-06-07 2 views

Répondre

2

Cela peut être fait. Vous avez juste à espionner Android Call Log Content Provider. Pour utiliser un fournisseur de contenu, il suffit d'appeler la méthode getContentResolver(). Une fois que vous avez un objet résolveur de contenu, vous pouvez l'interroger en utilisant SQL ou l'une des fonctions de requête intégrées. Par exemple, dans mon application Android, j'utilise un morceau de code qui ressemble à ceci:

String[] strFields = { 
     android.provider.CallLog.Calls.NUMBER, 
     android.provider.CallLog.Calls.TYPE, 
     android.provider.CallLog.Calls.CACHED_NAME, 
     android.provider.CallLog.Calls.CACHED_NUMBER_TYPE, 
     android.provider.CallLog.Calls.DURATION 
     }; 
String strOrder = android.provider.CallLog.Calls.DATE + " DESC"; 

Cursor mCallCursor = getContentResolver().query(
     android.provider.CallLog.Calls.CONTENT_URI, 
     strFields, 
     null, 
     null, 
     strOrder 
     ); 
+0

J'essaie cela, mais je ne peux pas me donner une solution pour obtenir la durée d'appel en temps réel .. –

+0

Quand vous dites en temps réel, voulez-vous dire obtenir la durée, lorsque l'appel est en cours ou après la fin de l'appel? –

+0

quand l'appel est en cours ... et mettez-le à jour avec tous les appels –