未接来电数和未看短信数

来源:互联网 发布:怎样成为淘宝超级会员 编辑:程序博客网 时间:2024/06/11 19:49

1、未读短信数

private int getMissedCallCount(Context context) {
    int missedCallCount = 0;

    Cursor callCursor = context.getContentResolver().query(Calls.CONTENT_URI, new String[] { Calls.NUMBER, Calls.TYPE, Calls.NEW }, null, null, Calls.DEFAULT_SORT_ORDER);

    if (callCursor != null) {
        while (callCursor.moveToNext()) {
            int type = callCursor.getInt(callCursor.getColumnIndex(Calls.TYPE));
            switch (type) {
            case Calls.MISSED_TYPE:
                if (callCursor.getInt(callCursor.getColumnIndex(Calls.NEW)) == 1) {
                    missedCallCount++;
                }
                break;
            case Calls.INCOMING_TYPE:
            case Calls.OUTGOING_TYPE:
                break;
            }
        }
    }
    callCursor.close();

    return missedCallCount;
}
2、未接来电数

private int getUnreadSmsCount(Context context) {
    int unreadSmsCount = 0;

    Cursor smsCursor = context.getContentResolver().query(Uri.parse("content://sms"), null, null, null, null);

    if (smsCursor != null) {
        while (smsCursor.moveToNext()) {
            int type = smsCursor.getInt(smsCursor.getColumnIndex("read"));
            if (type == 0) {
                unreadSmsCount++;
            }
        }
    }
    smsCursor.close();

    return unreadSmsCount;
}
3、权限

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

原创粉丝点击