作者:Confach 发表于2006-04-28 22:21 pm
版权信息:可以任意转载, 转载时请务必以超链接形式标明文章原始出处 和作者信息.
http://www.cnblogs.com/confach/articles/387949.html
第6章 访问电话应用程序
电话API
电话API((net.rim.blackberry.api.phone)可以访问电话应用程序的高级特性,例如允许应用程序将DTMF(双声多频)的音调(tone)到活动的通话中.
注:为了简单调用电话应用程序和拨打一个电话,使用调用API(net.rim.blackberry.api.invoke),为获得更多信息,参看83业的”启动应用程序”. 当应用程序第一次访问电话API时,检查一个 NoClassDefFoundError.如果系统管理员通过应用程序控制限制访问HTTP过滤器API,将抛出此错误. 为获得更多信息,参看BlackBerry应用程序开发者指南 第2卷:高级 第1卷:基础.
接收一个电话
调用Phone.getActiveCall()接收一个活动的电话.根据电话ID获取一个电话, 调用 Phone.getCall(int).
|
PhoneCall call = Phone.getActiveCall();
|
获取电话信息
PhoneCall类提供方法使应用程序获取电话的信息.例如,下面的代码检验电话的通话时间,电话的状态,以及在显示来电显示消息之前它是否正在出去.
|
int threshold = 120; // Alert user if outgoing calls last longer than threshold.
int elapsedTime = call.getElapsedTime();
// Use getStatusString() to retrieve status as an string.
int status = call.getStatus();
if ((status == PhoneCall.STATUS_CONNECTED ||
status == PhoneCall.STATUS_CONNECTING) && call.isOutGoing()
&& elapsedTime > threshold) {
// Use getCallId() to retrieve the caller ID as as an integer.
String phoneNumber = call.getDisplayPhoneNumber();
Status.show("Your call to " + phoneNumber + " has lasted more than " +
(String)threshold + ".");
}
|