java - How to check if the user has called a number within the last week?
问题描述
I want to be able to check if the user has called a number within the last week and if they haven't display a Toast.
So far, I've created a function that gets the users Call logs. However, im not sure how I would check whether they have called someone within a period of time such as a week?
This is my code:
StringBuffer sb = new StringBuffer();
Cursor managedCursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, null, null, null);
int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);
int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE);
int date = managedCursor.getColumnIndex(CallLog.Calls.DATE);
int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);
sb.append("Call Log :");
while (managedCursor.moveToNext()) {
String phNumber = managedCursor.getString(number);
String callType = managedCursor.getString(type);
String callDate = managedCursor.getString(date);
Date callDayTime = new Date(Long.valueOf(callDate));
String callDuration = managedCursor.getString(duration);
String dir = null;
int dircode = Integer.parseInt(callType);
switch (dircode) {
case CallLog.Calls.OUTGOING_TYPE:
dir = "OUTGOING";
break;
case CallLog.Calls.INCOMING_TYPE:
dir = "INCOMING";
break;
case CallLog.Calls.MISSED_TYPE:
dir = "MISSED";
break;
}
sb.append("\nPhone Number:--- " + phNumber +
" \nCall Type:--- " + dir +
" \nCall Date:--- " + callDayTime +
" \nCall duration in sec :--- " +
callDuration);
sb.append("\n----------------------------------");
}
Just wondering what the best way to do this is?
Thanks!
解决方案
这是我的评论的近似值。它是伪代码,但只需更改几件事即可使其正常工作。希望这可以帮助。
while (managedCursor.moveToNext()) {
String callDate = managedCursor.getString(date);
Date callDayTime = new Date(Long.valueOf(callDate));
if (<compare callDayTime with a "Date" of one week ago> ){
String phNumber = managedCursor.getString(number);
if (<phNumber is equal to the desired Phone>) {
if(Integer.parseInt(callType) == CallLog.Calls.OUTGOING_TYPE){
// User called the phone number last week
}
}
}
}
推荐阅读
- javascript - 在 Angular Elements 中显示数据
- python - How to install ChatterBot successfully?
- scala - 如何将列表中的数据作为记录发送到kafka
- matlab - 如何更改 histfit 中的 BinWidth?
- android - 如何在 SQLite RoomDatabase 中自动生成时间戳?
- ios - 显示两个导航栏
- python - 通过仅保留所有数组中存在的数字来过滤一组数组?
- django - Django迁移以从数据库中删除行
- c++ - 如何在 C++ 中使用 XOR 解密文件?
- android - Genymotion 保存 Android 虚拟设备的快照