gpt4 book ai didi

android - 如何从我的应用程序中找出最近 10 天的通话和短信详细信息

转载 作者:行者123 更新时间:2023-11-29 00:42:42 24 4
gpt4 key购买 nike

我正在开发一个应用程序,因为我必须获取过去 10 天的所有通话和短信记录。现在我只能找出那些给我发短信的人的所有联系人和所有电话联系人。那么请大家帮我看看如何从我的应用程序中查找或获取最近 10 天的通话和短信详细信息?

我的代码是这样的:

final Uri SMS_INBOX = Uri.parse("content://sms/inbox");

Cursor c = getContentResolver().query(SMS_INBOX, null, "read", null, null);
int readMessagesCount = c.getCount();
Toast.makeText(getApplicationContext(),
"Read massage info"+readMessagesCount, 2000).show();
c.deactivate();
while (c.moveToNext()) {
String asd = new String(c.getBlob(c.getColumnIndex("address")));
Toast.makeText(getApplicationContext(), asd, Toast.LENGTH_SHORT).show();

最佳答案

对于调用日志,您可以使用以下代码:它通过将日期与当前日期进行比较返回一个日期,您可以过滤最近 10 天的日志。

 Cursor c = context.getContentResolver().query(
android.provider.CallLog.Calls.CONTENT_URI,
null, null, null,
android.provider.CallLog.Calls.DATE + " DESC");
int numberColumn = c.getColumnIndex(
android.provider.CallLog.Calls.NUMBER);
int dateColumn = c.getColumnIndex(
android.provider.CallLog.Calls.DATE);

// type can be: Incoming, Outgoing or Missed

int typeColumn = c.getColumnIndex(
android.provider.CallLog.Calls.TYPE);
int DurationColumn = c.getColumnIndex(

android.provider.CallLog.Calls.DURATION);

if(c.moveToPosition(0))
{
String callerPhoneNumber = c.getString(numberColumn);
String callerPhoneDate = c.getString(dateColumn);
String TYeor = c.getString(typeColumn);



String Duration = c.getString(DurationColumn);
}

而且我认为短信日志也会返回日期,因此您可以对短信日志使用相同的逻辑。

关于android - 如何从我的应用程序中找出最近 10 天的通话和短信详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8429896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com