2016-02-11 22 views
0

我在嘗試將「未接」電話的來電類型進行比較。下面的android代碼有什麼問題?

我使用CallLog.Calls.TYPE來做到這一點,但我沒有得到所需的應用程序內輸出。

下面是代碼。

if (Integer.parseInt(CallLog.Calls.TYPE)==CallLog.Calls.MISSED_TYPE) { 
    dir = "MISSED"; 
    sb.append("\nName: " + namee + "\nPhone Number: " + phNumber + " \nCall Type: " + dir + " \nCall Date: " + callDayTime 
          + " \nCall duration in sec : " + callDuration); 

} 
+0

我想知道我在做正確的比較? – a874

+0

你想要的輸出是什麼? – Rohit5k2

+0

我想列出所有未接來電。 – a874

回答

3

您沒有正確比較。你正在比較常數。您需要使用的值進行比較裏面的Cursor你拿來使用ContentResolver這樣

如果cursor是您的查詢的結果,那麼這樣做

String callType = cursor.getString(cursor.getColumnIndex(android.provider.CallLog.Calls.TYPE)); 

然後

if(Integer.parseInt(callType) == CallLog.Calls.MISSED_TYPE){ 
    dir = "MISSED"; 
    sb.append("\nName: " + namee + "\nPhone Number: " + phNumber + " \nCall Type: " + dir + " \nCall Date: " + callDayTime 
         + " \nCall duration in sec : " + callDuration); 
} 
+0

謝謝@ Rohit5k2,它現在正在工作。 – a874

+0

完美。如果它幫助你,請不要忘記接受答案。 – Rohit5k2