2012-10-31 13 views
7

मैं सभी Call-Logs excluding SMS प्राप्त करने का प्रयास कर रहा हूं लेकिन मुझे एक विलय सूची मिलती है।सभी लॉग्स कॉल करने वाले कॉललॉग के साथ-साथ एसएमएस लॉग, मैं केवल कॉल लॉग कैसे फ़िल्टर कर सकता हूं?

मैं केवल कॉल के लिए कॉल लॉग कैसे फ़िल्टर कर सकता हूं?

मैं निम्नलिखित कोड का उपयोग कर रहा हूं।

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.DATE 
}; 
String strOrder = android.provider.CallLog.Calls.DATE + " DESC"; 

Uri calluri = Uri.parse("content://call_log/calls"); 
Cursor mCallCursor = getContentResolver().query(
      calluri, 
      strFields, 
      null, 
      null, 
      strOrder 
); 

मैं परीक्षण के लिए सैमसंग नोट 2 का उपयोग कर रहा हूं।

+0

मेरे पास भी एक ही समस्या है। पता नहीं है कि यह सैमसंग द्वारा बग या भिन्नता है या नहीं। – Tushar

उत्तर

0

मेरे दोनों सैमसंग उपकरणों पर एक ही समस्या है। इस मुद्दे पर शोध करने से संकेत मिलता है कि यह कैसे समस्या है कि सैमसंग एंड्रॉइड लॉग को कैसे संभालता है, यह उन्हें विलय करता है। जाहिर है यह गलत और असंगत व्यवहार है। नोट, कॉल लॉग एपीआई के माध्यम से एक एसएमएस संदेश हटाया नहीं जा सकता है, फिर भी इसे कॉल लॉग एपीआई के माध्यम से पुनर्प्राप्त किया जा सकता है।

0

CallLog.Calls स्पष्टीकरण, इनकमिंग, आउटगोइंग और मिस्ड करने के लिए सुविधा प्रदान करता है। सभी प्रकार के CallLog.Calls जहां इसे अन्य रिकॉर्ड भी मिलते हैं।)

कर्सर managedCursor = getActivity() getContentResolver (क्वेरी (CallLog.Calls.CONTENT_URI, अशक्त, अशक्त, अशक्त, नल);:

कोड नीचे देखें।। int संख्या = प्रबंधितCursor.getColumnIndex (CallLog.Calls.NUMBER); int name = प्रबंधितCursor.getColumnIndex (CallLog.Calls.CACHED_NAME); int type = प्रबंधितCursor.getColumnIndex (CallLog.Calls.TYPE); int date = प्रबंधितCursor.getColumnIndex (CallLog.Calls.DATE); int newcall = manageCursor.getColumnIndex (CallLog.Calls.NEW); int callduration = प्रबंधितCursor.getColumnIndex (CallLog.Calls.DURATION); int id = प्रबंधितCursor.getColumnIndex (CallLog.Calls._ID);

 while (managedCursor.moveToNext()) { 
      callNumber = managedCursor.getString(number); 
      callName = managedCursor.getString(name); 
      callType = managedCursor.getString(type); 
      callDate = managedCursor.getString(date); 
      isCallNew = managedCursor.getString(newcall); 
      Date callDayTime = new Date(Long.valueOf(callDate)); 
      duration = managedCursor.getString(callduration); 
      contactId = managedCursor.getString(id); 

     // process log data... 
       Log.i("Call Name-----", callNumber); 
       String cType = null; 

       int cTypeCode = Integer.parseInt(callType); 

       switch(cTypeCode) 
        { 
          case CallLog.Calls.OUTGOING_TYPE: 
          cType = "OUTGOING"; 
          break; 

          case CallLog.Calls.INCOMING_TYPE: 
          cType= "INCOMING"; 
          break; 

          case CallLog.Calls.MISSED_TYPE: 
          cType = "MISSED"; 
          break; 

        } 
संबंधित मुद्दे

 संबंधित मुद्दे