是否可以通过其手机供应商使用用户电话,并跟踪电话的长度?追踪电话通话时间
因此,用户在应用程序中按下“立即呼叫”按钮。通话开始到预定的号码。我们记录开始时间。通话结束后,我们计算使用了多少分钟。
可能吗?
public class CallDurationReceiver extends BroadcastReceiver {
static boolean flag = false;
static long start_time, end_time;
@Override
public void onReceive(Context arg0, Intent intent) {
String action = intent.getAction();
if (action.equalsIgnoreCase("android.intent.action.PHONE_STATE")) {
if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
TelephonyManager.EXTRA_STATE_RINGING)) {
start_time = System.currentTimeMillis();
}
if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
TelephonyManager.EXTRA_STATE_IDLE)) {
end_time = System.currentTimeMillis();
//Total time talked =
long total_time = end_time - start_time;
//Store total_time somewhere or pass it to an Activity using intent
}
}
}
填写您的接收器在您的清单文件中像这样:
<receiver android:name=".CallDurationReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
而且添加使用许可,允许呼入,呼出电话使用下面的广播接收器
如果他们在您的应用程序中启动和结束通话,您不能只在通话前后检查当前时间吗? – 2012-04-05 16:43:53
这就是我想要弄清楚的。 iOS和Android平台是否允许我检测通话何时结束? – spentak 2012-04-05 16:46:20
您可以在Android和iOS上获得通话记录,或者如果您只关心应用程序中描述的来电,则可以检查系统时间。 – 2012-04-05 16:50:14