关闭

获取通话时长

548人阅读 评论(0) 收藏 举报
Cursor cursor = getContentResolver().query(Calls.CONTENT_URI,  
    new String[] { Calls.DURATION, Calls.TYPE, Calls.DATE },  
    null,  
    null,  
    Calls.DEFAULT_SORT_ORDER);  
MainActivity.this.startManagingCursor(cursor);  
boolean hasRecord = cursor.moveToFirst();  
long incoming = 0L;  
long outgoing = 0L;  
int count = 0;  
while (hasRecord) {  
    int type = cursor.getInt(cursor.getColumnIndex(Calls.TYPE));  
    long duration = cursor.getLong(cursor.getColumnIndex(Calls.DURATION));  
    switch (type) {  
        case Calls.INCOMING_TYPE:  
            incoming += duration;  
            break;  
        case Calls.OUTGOING_TYPE:  
            outgoing += duration;  
        default:  
            break;  
    }  
    count++;  
    hasRecord = cursor.moveToNext();  
}  
Toast.makeText(MainActivity.this,  
    "共计 " + count + "次通话 . 总通话时长 " + (incoming + outgoing) + "秒. 其中接听 " + incoming + " 秒, 拔打 "  
                    + outgoing + " 秒.",  

    Toast.LENGTH_LONG).show(); 




需要添加权限:

<uses-permission android:name="android.permission.READ_CONTACTS"/>

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:163392次
    • 积分:2490
    • 等级:
    • 排名:第15313名
    • 原创:61篇
    • 转载:156篇
    • 译文:0篇
    • 评论:22条
    最新评论