Android获取通话时间实例分析

2016-02-19 11:22 29 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的Android获取通话时间实例分析教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

本文章总结了一段Android获取通话时间程序代码,有需要的朋友可参考一下。

我们知道安卓系统中通话时长应该是归Callog管,所以建议去查查ContactProvider,或者是TelephonyProvider

Service测试

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

可以的通话开始的时候启动Service 记录当前时间A, 然后stopSelf(); 另外在通话结束的时候再次启动一下Service,再次获得当前时间B, 然后把时间A和B进行比较处理

String time = Long.toString(比较后处理的时间)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

然后调用
代码如下:

Toast.makeText(this, time, Toast.LENGTH_SHORT).show();

使之显示出来 ,再stopSelf();

获取联系人通话时间的长短java代码
代码如下:

Cursor cursor = getContentResolver().query(Calls.CONTENT_URI,
new String[] { Calls.DURATION, Calls.TYPE, Calls.DATE },
null,
null,
Calls.DEFAULT_SORT_ORDER);
MainActivity.this.startManagingCursor(cursor);
boolean hasRecord = cursor.moveToFirst();
long incoming = 0L;
long outgoing = 0L;
int count = 0;
while (hasRecord) {
int type = cursor.getInt(cursor.getColumnIndex(Calls.TYPE));
long duration = cursor.getLong(cursor.getColumnIndex(Calls.DURATION));
switch (type) {
case Calls.INCOMING_TYPE:
incoming += duration;
break;
case Calls.OUTGOING_TYPE:
outgoing += duration;
default:
break;
}
count++;
hasRecord = cursor.moveToNext();
}
Toast.makeText(MainActivity.this,
"共计 " + count + "次通话 . 总通话时长 " + (incoming + outgoing) + "秒. 其中接听 " + incoming + " 秒, 拔打 "
+ outgoing + " 秒.",
Toast.LENGTH_LONG).show();

来源:http://www.tulaoshi.com/n/20160219/1597246.html

延伸阅读
SharedPreferences 用于在开发软件的时候提供软件参数设置,其背后使用的是xml文件存放数据,文件保存在/data/data/package name/shared_prefs目录下; 代码如下:  public void savePreferences(String name, Integer age) { -- get SharedPreferences   SharedPreferences preferences = context.getSharedPreferen...
标签: 电脑入门
Skype的android版本目前不支持多人视屏通话。您只能进行语音的多人通话,无法进行多人视频的发送和接收。
Android5.0SuperSU获取权限方法   安卓5.0在系统安全、OTA更新等各方面都做出了重大改变,导致Root获取系统权限的难度也骤然变大,不过大神就是大神,Chainfire迅速完成了安卓5.0 Root并且不断持续改进,越来越好用了。今天,Chainfire又放出了最新的SuperSU 2.27 Beta,再也不需要修改内核来获取Root权限了。 虽然它还是个测...
核心代码: Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)) .getDeviceId(); 1.加入权限 在manifest.xml文件中要添加 uses-permission android:name="android.permission.READ_PHONE_STATE" / 2.代码 代码如下: package net.sunniwell.app;     import android.app.Activity;   ...
代码如下: SPAN style="FONT-SIZE: 18px"private void alertScreenDialog() { DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); String optStr = "手机屏幕分辨率为: "+dm.widthPixels+" x "+dm.heightPixels; Builder builder = new Builder(this); builder.setMessage(optStr); b...

经验教程

233

收藏

11
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部