【问题标题】:Get phone call information on android在android上获取电话信息
【发布时间】:2014-07-24 16:41:09
【问题描述】:

我一直试图弄清楚如何开发我的一个项目的需求。要求是获取有关电话的信息:

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

到目前为止,我发现的并没有那么多。这个下一个链接

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

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

谁能帮我完成其余的功能?从哪里获取电话的拨出信息?有什么方法可以知道电话何时结束以及原因?

提前谢谢你,

【问题讨论】:

    标签: android phone-call


    【解决方案1】:
        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();
    
            }
    
    }
    

    【讨论】:

    • 很好,似乎是一个很好的开始方法。唯一不清楚的是,此日志是否与向用户显示的相同。如果是这样,电话用户可以有选择地删除它,因此它不是受信任的来源。
    • 据我调查,这种方法似乎是目前android平台上我能得到的最多的方法。
    猜你喜欢
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 2012-02-14
    相关资源
    最近更新 更多