android - 在我的 Activity 中打开 Android 通话记录

标签 android logging call

我不知道这是否可以实现:

我正在为我工​​作的地方开发安卓应用程序。用户将无法使用应用程序以外的任何其他东西。

我面临的问题是我需要为用户获取通话记录以查看未接来电,我打算使用操作系统通话记录屏幕,但我想知道我是否可以打开该通话

最佳答案

打开标准的安卓通话记录

enter image description here

触发 Calls.CONTENT_TYPE Intent :

Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setType(CallLog.Calls.CONTENT_TYPE);
startActivity(i);           


以编程方式从数据库中获取通话记录(例如填充您自己的 UI):


Cursor cur = managedQuery(CallLog.Calls.CONTENT_URI, null, null, null, null);
int numberInd = cur.getColumnIndex(CallLog.Calls.NUMBER);
int typeInd = cur.getColumnIndex(CallLog.Calls.TYPE);
int dateInd = cur.getColumnIndex(CallLog.Calls.DATE);
int durationInd = cur.getColumnIndex(CallLog.Calls.DURATION);

while (cur.moveToNext()) {
     String number = cur.getString(numberInd);
     String type = cur.getString(typeInd);
     String date = cur.getString(dateInd);
     String duration = cur.getString(durationInd);
     int callCode = Integer.parseInt(type);
     // callCode can be OUTGOING_TYPE, INCOMING_TYPE or MISSED_TYPE

     .........
}


在这两种情况下,您都需要 READ_CALL_LOG 权限

关于android - 在我的 Activity 中打开 Android 通话记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24597379/

相关文章:

android - 设置 SupportActionBar 字幕多行

java - Netty:单个 HTTP 请求或响应中的字节数?

linux - 如何在 linux (debian) 上获取文件访问信息

postgresql - PostgreSQL 中的函数调用行为不当

Perl:如何将 ARGV 参数传递给另一个脚本?

android - 如何在 Android 中获取当前的 SIM 卡号?

android - 首次 Android 应用启动延迟

java - android studio 倒数计时器的问题

c++ - 如何让日志更容易维护?

php - 调用存储过程时出现错误 1366 (php mysql)