代码之家  ›  专栏  ›  技术社区  ›  Isaac

在android上获取电话呼叫信息

  •  1
  • Isaac  · 技术社区  · 10 年前

    我一直在想如何开发我的一个项目的需求。要求获取有关电话的信息:

    1. 拨入/呼出电话的时间戳和电话号码
    2. 完成呼叫的时间戳和原因(用户结束呼叫,网络无法访问…)

    到目前为止,我发现的并不多。下一个链接

    http://developer.android.com/reference/android/telephony/PhoneStateListener.html

    谈论创建一个监听器来获取来电电话号码。

    有人可以帮我完成其余功能吗?从哪里获取电话的呼出信息?有没有办法知道电话什么时候结束,原因是什么?

    提前感谢您,

    1 回复  |  直到 10 年前
        1
  •  3
  •   Yogesh Ude    10 年前
        private void getCallLogDetail( Context context ) {
            String[] projection = new String[] {
            BaseColumns._ID,
            CallLog.Calls.NUMBER,
            CallLog.Calls.TYPE,
            CallLog.Calls.DURATION
            };
            ContentResolver resolver = context.getContentResolver();
            Cursor cur = resolver.query(
            CallLog.Calls.CONTENT_URI,
            projection,
            null,
            null,
            CallLog.Calls.DEFAULT_SORT_ORDER );
            if( !cur.isAfterLast()) {
            int numberColumn = cur.getColumnIndex( CallLog.Calls.NUMBER );
            int typeColumn = cur.getColumnIndex( CallLog.Calls.TYPE );
            int durationcolumn = cur.getColumnIndex(CallLog.Calls.DURATION);
            String number = cur.getString( numberColumn );
            String type = cur.getString( typeColumn );
            String duration = cur.getString(durationcolumn);
            cur.moveToNext();
    
            }
    
    }