Widget API 接口实例演示(二) ——Telephony类和PIM类
Widget API 接口实例演示(二) ——Telephony类和PIM类
OPhone平台开发, 2010-01-05 15:03:07
标签 : 接口 API PIM Telephony
关于电话通讯的接口 —— Telephony 类
- <div>
- <input type="button" value= "拨打114" id= "114" >
- <input type="button" value= "删除信息" id= "delete" >
- <input type="button" value= "刷新" id= "refresh" >
- <hr>
- <span id="total" ></span><br>
- <span id="first" ></span><br>
- <span id="last" ></span>
- <span id="just" ></span>
- </div>
<div>
<input type="button" value="拨打114" id="114">
<input type="button" value="删除信息" id="delete">
<input type="button" value="刷新" id="refresh">
<hr>
<span id="total"></span><br>
<span id="first"></span><br>
<span id="last"></span>
<span id="just"></span>
</div>
- //我们的测试行为是,当程序启动时,在程序的界面上显示一共有多少个电话拨出记录,
- //最早的一个记录是什么号码,在什么时间拨出去,最晚的一个记录是什么号码,在什么
- //时间拨出去,当按下拨打114按钮时,就拨打114,按下删除记录按钮时,就删除最早的//一条记录,当按下刷新按钮时,就刷新界面上的信息。
- function Init(){
- var call=document.getElementById('114' );
- var Delete=document.getElementById('delete' );
- var Refresh=document.getElementById('refresh' );
- Refresh.addEventListener('click' ,refreshRecord, false );
- call.addEventListener('click' ,callNum, false );
- Delete.addEventListener('click' ,deleteRecord, false );
- //回调函数,当执行findCallRecords方法后,记录找到时执行foundRecords函数
- Widget.Telephony.onCallRecordsFound = foundRecords;
- var id="" ; //初始化一个字符串变量,用来存储记录的ID,在下面,我们将用
- findCallRecords方法来找到记录的ID
- refreshRecord();//当程序启动时执行刷新函数
- //当按下拨打114按钮时,执行的函数,调用initiateVoiceCall方法
- function callNum(){
- Widget.Telephony.initiateVoiceCall("114" );
- }
- //当按下删除记录按钮时执行的函数,调用deleteCallRecord方法
- functiondeleteRecord(){
- Widget.Telephony.deleteCallRecord(Widget.Telephony.CallRecordTypes.OUTGOING, id); //deleteCallRecord方法删除一条记录,
- //Widget.Telephony.CallRecordTypes.OUTGOING参数表示删除的是拨出的记录,其
- //他类型还有MISSED,和RECEIVED ,需传递一个被删除记录的id号,
- //deleteAllCallRecords方法可用来删除所有指定类型的记录
- refreshRecord();//删除记录后调用refreshRecord()函数来刷新界面
- }
- //这个函数用来刷新界面,你可以写更多的代码,给用户提供更多的信息,不过在
- //这里只需要执行find函数里的内容,不需要更多的信息。
- function refreshRecord(){
- find();
- }
- function find(){
- //getCallRecordCnt方法用来获得指定类型记录的总数,我们需要获得拨出记录的总
- //数,然后输出在界面上
- total=Widget.Telephony.getCallRecordCnt(Widget.Telephony.CallRecordTypes.OUTGOING);
- document.getElementById('total' ).innerHTML= 'Total allocated: ' +total;
- //下面开始查找所有的拨出记录
- var record = new Widget.Telephony.CallRecord(); //用CallRecord类的构造函
- 数,创建一个CallRecord对象,CallRecord类的数据成员在上面已经介绍过。
- record.callRecordAddress = "*" ; //用通配符表示所有的号码,你也可以指定一
- 个号码
- record.callRecordType="outgoing" ; //需要指定一个类型,outgoing为拨出记录
- Widget.Telephony.findCallRecords(record,0 ,total- 1 ); //开始查找,返回所有
- //找到的结果,因为基数是0,所以要在总数上减1.
- }
- //当findCallRecords方法执行后发生的事件,onCallRecordsFound回调函数,将传递
- //一个数组,这个数组就是找到的记录
- function foundRecords(callRecords) {
- //获得最早拨出记录的时间
- var firstTime=" " +callRecords[callRecords.length- 1 ].startTime.toLocaleTimeString()+ " " +callRecords[callRecords.length- 1 ].startTime.toLocaleDateString();
- //获得最后一个拨出记录的时间
- var lastTime="" +callRecords[ 0 ].startTime.toLocaleTimeString()+"
- "+callRecords[0 ].startTime.toLocaleDateString();
- //在界面上输出最早拨出记录的号码和拨出时间
- document.getElementById('first' ).innerHTML= 'Thefirst:' +callRecords[callRecords.length- 1 ].callRecordAddress+firstTime;
- //在界面上输出最近拨出记录的号码和拨出时间
- document.getElementById('last' ).innerHTML= 'Thelast:' +callRecords[ 0 ].callRecordAddress+lastTime;
- //获得最早拨出记录的ID号,deleteCallRecord方法需要
- id=callRecords[callRecords.length-1 ].callRecordId;
- }
- }
- //当有电话拨入,或者拨出,或者有未接电话时所要执行的函数,在界面上输
- //出一行信息
- function CallBack(callType, phoneNumber){
- document.getElementById('just' ).innerHTML= '<h5>Just' +callType+',N
- um: '+phoneNumber+' </h5>';/
- }
- window.οnlοad=Init;
- Widget.Telephony.onCallEvent = CallBack;//onCallEvent事件绑定CallBack函数
//我们的测试行为是,当程序启动时,在程序的界面上显示一共有多少个电话拨出记录,
//最早的一个记录是什么号码,在什么时间拨出去,最晚的一个记录是什么号码,在什么
//时间拨出去,当按下拨打114按钮时,就拨打114,按下删除记录按钮时,就删除最早的//一条记录,当按下刷新按钮时,就刷新界面上的信息。
function Init(){
var call=document.getElementById('114');
var Delete=document.getElementById('delete');
var Refresh=document.getElementById('refresh');
Refresh.addEventListener('click',refreshRecord,false);
call.addEventListener('click',callNum,false);
Delete.addEventListener('click',deleteRecord,false);
//回调函数,当执行findCallRecords方法后,记录找到时执行foundRecords函数
Widget.Telephony.onCallRecordsFound = foundRecords;
var id="";//初始化一个字符串变量,用来存储记录的ID,在下面,我们将用
findCallRecords方法来找到记录的ID
refreshRecord();//当程序启动时执行刷新函数
//当按下拨打114按钮时,执行的函数,调用initiateVoiceCall方法
function callNum(){
Widget.Telephony.initiateVoiceCall("114");
}
//当按下删除记录按钮时执行的函数,调用deleteCallRecord方法
functiondeleteRecord(){
Widget.Telephony.deleteCallRecord(Widget.Telephony.CallRecordTypes.OUTGOING, id); //deleteCallRecord方法删除一条记录,
//Widget.Telephony.CallRecordTypes.OUTGOING参数表示删除的是拨出的记录,其
//他类型还有MISSED,和RECEIVED ,需传递一个被删除记录的id号,
//deleteAllCallRecords方法可用来删除所有指定类型的记录
refreshRecord();//删除记录后调用refreshRecord()函数来刷新界面
}
//这个函数用来刷新界面,你可以写更多的代码,给用户提供更多的信息,不过在
//这里只需要执行find函数里的内容,不需要更多的信息。
function refreshRecord(){
find();
}
function find(){
//getCallRecordCnt方法用来获得指定类型记录的总数,我们需要获得拨出记录的总
//数,然后输出在界面上
total=Widget.Telephony.getCallRecordCnt(Widget.Telephony.CallRecordTypes.OUTGOING);
document.getElementById('total').innerHTML='Total allocated: '+total;
//下面开始查找所有的拨出记录
var record = new Widget.Telephony.CallRecord();//用CallRecord类的构造函
数,创建一个CallRecord对象,CallRecord类的数据成员在上面已经介绍过。
record.callRecordAddress = "*";//用通配符表示所有的号码,你也可以指定一
个号码
record.callRecordType="outgoing";//需要指定一个类型,outgoing为拨出记录
Widget.Telephony.findCallRecords(record,0,total-1);//开始查找,返回所有
//找到的结果,因为基数是0,所以要在总数上减1.
}
//当findCallRecords方法执行后发生的事件,onCallRecordsFound回调函数,将传递
//一个数组,这个数组就是找到的记录
function foundRecords(callRecords) {
//获得最早拨出记录的时间
var firstTime=" "+callRecords[callRecords.length-1].startTime.toLocaleTimeString()+" "+callRecords[callRecords.length-1].startTime.toLocaleDateString();
//获得最后一个拨出记录的时间
var lastTime=""+callRecords[0].startTime.toLocaleTimeString()+"
"+callRecords[0].startTime.toLocaleDateString();
//在界面上输出最早拨出记录的号码和拨出时间
document.getElementById('first').innerHTML='Thefirst:'+callRecords[callRecords.length-1].callRecordAddress+firstTime;
//在界面上输出最近拨出记录的号码和拨出时间
document.getElementById('last').innerHTML='Thelast:'+callRecords[0].callRecordAddress+lastTime;
//获得最早拨出记录的ID号,deleteCallRecord方法需要
id=callRecords[callRecords.length-1].callRecordId;
}
}
//当有电话拨入,或者拨出,或者有未接电话时所要执行的函数,在界面上输
//出一行信息
function CallBack(callType, phoneNumber){
document.getElementById('just').innerHTML='<h5>Just'+callType+',N
um: '+phoneNumber+'</h5>';/
}
window.οnlοad=Init;
Widget.Telephony.onCallEvent = CallBack;//onCallEvent事件绑定CallBack函数
- <input type= "button" value= "添加号码" id= "add" ><br>
- <input type="button" value= "更新号码" id= "update" ><br>
- <input type="button" value= "删除号码" id= "delete" ><br>
<input type="button" value="添加号码" id="add"><br>
<input type="button" value="更新号码" id="update"><br>
<input type="button" value="删除号码" id="delete"><br>
- // 当我们点击添加号码的时候将会在通讯录中添加一个联系人,联系人全名为Mobile //Service,所属公司为China Mobile,手机号码 为10086,当点击更新号码时,将会//在联系人里添加一个家庭号码,号码为12530,当点击删除号码时,将会删除手机号码
- //为10086的所有联系人。
- function Init(){
- var Add=document.getElementById('add' );
- var Delete=document.getElementById('delete' );
- var Update=document.getElementById('update' );
- Add.addEventListener('click' ,AddContact, false );
- Delete.addEventListener('click' ,DeleteContact, false );
- Update.addEventListener('click' ,UpdateContact, false );
- Widget.PIM.onAddressBookItemsFound = ContactFound;//回调函数
- var Operation="" ; //创建一个字符串变量
- function AddContact(){
- //创建一个 AddressBookItem类的对象
- var contact = new Widget.PIM.AddressBookItem();
- //设置联系人的信息
- contact.setAttributeValue("fullName" , "Mobile Service" );
- contact.setAttributeValue("company" , "China Mobile" );
- contact.setAttributeValue("mobilePhone" , "10086" );
- //添加一个联系人
- Widget.PIM.addAddressBookItem(contact);
- alert("Successfully added" );
- }
- function DeleteContact(){
- //当要执行删除操作时,将Operation赋值为delete
- Operation="delete" ;
- find();
- }
- function UpdateContact(){
- //当要执行更新操作时,将Operation赋值为update
- Operation="update" ;
- find();
- }
- //find函数用来寻找手机号码为10086的所有联系人
- function find(){
- var total=Widget.PIM.getAddressBookItemsCount()
- var contact = new Widget.PIM.AddressBookItem();
- contact.setAttributeValue("mobilePhone" , "10086" );
- Widget.PIM.findAddressBookItems(contact, 0 , total- 1 );
- }
- //使用findAddressBookItems方法后将发生此事件
- function ContactFound(addressBookItems){
- //遍历所有找到的联系人
- for (var value= 0 ;value<addressBookItems.length;value++)
- { //当Operation的值为delete执行删除操作
- if (Operation== 'delete' ){
- Widget.PIM.deleteAddressBookItem(addressBookItems[value].addressBookItemId);
- }
- //当Operation的值为update执行更新操作
- if (Operation== 'update' )
- {
- var contact = addressBookItems[value];
- contact.setAttributeValue("homePhone" , "12580" );
- contact.update();
- }
- }
- if (Operation== 'delete' ){
- alert('Deleted successfully' );
- }
- else {
- alert('Updated successfully' );
- }
- }
- }
- window.οnlοad=Init;
//当我们点击添加号码的时候将会在通讯录中添加一个联系人,联系人全名为Mobile //Service,所属公司为China Mobile,手机号码为10086,当点击更新号码时,将会//在联系人里添加一个家庭号码,号码为12530,当点击删除号码时,将会删除手机号码
//为10086的所有联系人。
function Init(){
var Add=document.getElementById('add');
var Delete=document.getElementById('delete');
var Update=document.getElementById('update');
Add.addEventListener('click',AddContact,false);
Delete.addEventListener('click',DeleteContact,false);
Update.addEventListener('click',UpdateContact,false);
Widget.PIM.onAddressBookItemsFound = ContactFound;//回调函数
var Operation="";//创建一个字符串变量
function AddContact(){
//创建一个 AddressBookItem类的对象
var contact = new Widget.PIM.AddressBookItem();
//设置联系人的信息
contact.setAttributeValue("fullName", "Mobile Service");
contact.setAttributeValue("company", "China Mobile");
contact.setAttributeValue("mobilePhone", "10086");
//添加一个联系人
Widget.PIM.addAddressBookItem(contact);
alert("Successfully added");
}
function DeleteContact(){
//当要执行删除操作时,将Operation赋值为delete
Operation="delete";
find();
}
function UpdateContact(){
//当要执行更新操作时,将Operation赋值为update
Operation="update";
find();
}
//find函数用来寻找手机号码为10086的所有联系人
function find(){
var total=Widget.PIM.getAddressBookItemsCount()
var contact = new Widget.PIM.AddressBookItem();
contact.setAttributeValue("mobilePhone", "10086");
Widget.PIM.findAddressBookItems(contact, 0, total-1);
}
//使用findAddressBookItems方法后将发生此事件
function ContactFound(addressBookItems){
//遍历所有找到的联系人
for(var value=0;value<addressBookItems.length;value++)
{ //当Operation的值为delete执行删除操作
if(Operation=='delete'){
Widget.PIM.deleteAddressBookItem(addressBookItems[value].addressBookItemId);
}
//当Operation的值为update执行更新操作
if(Operation=='update')
{
var contact = addressBookItems[value];
contact.setAttributeValue("homePhone", "12580");
contact.update();
}
}
if(Operation=='delete'){
alert('Deleted successfully');
}
else{
alert('Updated successfully');
}
}
}
window.οnlοad=Init;
- <input type= "button" value= "添加事件" id= "add" ><br>
- <input type="button" value= "删除事件" id= "delete" ><br>
<input type="button" value="添加事件" id="add"><br>
<input type="button" value="删除事件" id="delete"><br>
- //添加一个事件,和删除一个事件
- function Init(){
- var Add=document.getElementById('add' );
- var Delete=document.getElementById('delete' );
- Add.addEventListener('click' ,AddContact, false );
- Delete.addEventListener('click' ,DeleteContact, false );
- Widget.PIM.onAddressBookItemsFound = ContactFound;
- function AddContact(){
- var day = new Date ( 2009 , 12 , 25 , 0 , 0 , 0 );
- var calendarItem = new Widget.PIM.CalendarItem();
- calendarItem.startTime = day;//设置开始日期
- calendarItem.eventName = "Test" ;
- calendarItem.eventRecurrence=Widget.PIM.EventRecurrenceTypes.W
- EEKLY_ON_DAY;//设置成每周提醒
- Widget.PIM.addCalendarItem(calendarItem);
- alert("Successfully added" );
- }
- function DeleteContact(){
- var startTime = new Date ( 2009 , 1 , 1 , 0 , 0 , 0 );
- var endTime = new Date ( 2010 , 1 , 1 , 0 , 0 , 0 );
- //用getCalendarItems方法返回指定时间内所有的事件
- var Events = Widget.PIM.getCalendarItems(startTime,endTime);
- for (var value= 0 ;value<Events.length;value++)
- { //当事件名为Test时,删除此事件
- if (Events[value].eventName== "Test" )
- {
- Widget.PIM.deleteCalendarItem(Events[value].calendarItemId );
- }
- }
- alert("Deleted successfully" );
- }
- }
- window.οnlοad=Init;
//添加一个事件,和删除一个事件
function Init(){
var Add=document.getElementById('add');
var Delete=document.getElementById('delete');
Add.addEventListener('click',AddContact,false);
Delete.addEventListener('click',DeleteContact,false);
Widget.PIM.onAddressBookItemsFound = ContactFound;
function AddContact(){
var day = new Date (2009, 12, 25, 0, 0, 0);
var calendarItem = new Widget.PIM.CalendarItem();
calendarItem.startTime = day;//设置开始日期
calendarItem.eventName = "Test";
calendarItem.eventRecurrence=Widget.PIM.EventRecurrenceTypes.W
EEKLY_ON_DAY;//设置成每周提醒
Widget.PIM.addCalendarItem(calendarItem);
alert("Successfully added");
}
function DeleteContact(){
var startTime = new Date (2009, 1, 1, 0, 0, 0);
var endTime = new Date (2010, 1, 1, 0, 0, 0);
//用getCalendarItems方法返回指定时间内所有的事件
var Events = Widget.PIM.getCalendarItems(startTime,endTime);
for(var value=0;value<Events.length;value++)
{ //当事件名为Test时,删除此事件
if(Events[value].eventName=="Test")
{
Widget.PIM.deleteCalendarItem(Events[value].calendarItemId );
}
}
alert("Deleted successfully");
}
}
window.οnlοad=Init;
Widget API 接口实例演示(二) ——Telephony类和PIM类相关推荐
- api接口 php_PHP关于API接口实例分享
API就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作).本文主要和大家分享PHP关于API接口实例,希望能帮助到大家. PHP生成J ...
- python实现简单的api接口-对Python实现简单的API接口实例讲解
get方法 代码实现 # coding:utf-8 import json from urlparse import parse_qs from wsgiref.simple_server impor ...
- 简单python脚本实例-对Python实现简单的API接口实例讲解
get方法 代码实现 # coding:utf-8 import json from urlparse import parse_qs from wsgiref.simple_server impor ...
- 微信API接口、微信二次开发API调用
微信API接口.微信二次开发API调用 微信协议接口调用-加微信好友及通过好友请求 加微信好友 /** * 微信自动添加好友 * @author wechatno:tangjin ...
- php magento 开发,magento2 开发Api接口实例
magento2 开发Api接口实例 新建一个模块 第一步先创建module.xml初始化模块 模块配置 – etc/module.xml 然后新建Registration 注册模块 – regist ...
- 基于Java的Zabbix二次开发-----Zabbix的Api接口实例
博主之前的文章配置好了Zabbix环境,正常启动Zabbix服务端,并成功监控客户端服务器的情况,如有疑问,下方传送门: centos7下安装Zabbix服务端 Windows下安装Zabbix客户端 ...
- PHP API接口实例
PHP API接口 PHP生成JSON数据 json_encode($value) 方法 (response.php和testapi.php) 通信标准格式: code 状态码 message 提 ...
- 京东高效转链API接口—商品优惠券二合一转链—京东联盟优惠券如何转链?
API接口说明: 将您的联盟信息.商品SKU以及优惠券链接进行转链,返回商品的二合一领券下单链接,转链后的结果可进行推广 应用场景: 应用于导购平台内的商品转链 操作案例: 联盟ID:随便一个京东联盟 ...
- 淘宝/天猫同款商品搜索API接口详细演示
item_search_samestyle-搜索同款的商品 [查看演示] API测试工具 注册开通 onebound.taobao.item_search_samestyle 公共参数 请求地址: h ...
最新文章
- 强烈推荐8个值得下载的神仙软件,每一个都让人惊喜
- 【Verilog HDL 训练】第 13 天(存储器、SRAM)
- Qt: QTimer和QThread
- 倒计时3天|阿里云数据库创新上云峰会亮点剧透
- python打卡记录去重_Python笔记记录
- rgb 灰色_金属+RGB+无线,我要买爆这款海盗船VIRTUOSO鉴赏家游戏耳机
- mysql内连接和交叉连接_MySQL中的内连接、外连接、交叉连接
- 存储过程和函数的区别?
- PHP中CURL方法curl_setopt()函数的一些参数
- codeforces332B - Maximum Absurdity 线段数 or dp
- IIS配置文件上传大小限制
- Kazrog AmpCraft 1992 for Mac - 放大器建模插件
- 一种排序NYOJ 8
- matlab信号处理——数据处理基础
- 墨画子卿第二章第4节:三招
- VC环境中获取窗体标题栏的位置和高度
- 怎么判断一篇英文论文是不是综述
- [IOS]hitTest的作用与用法【转】
- jQuery的属性,位置,元素操作
- 千呼万唤,小灰的新书出版了!
热门文章
- RGB与Depth融合方法总结
- 【veriog】正向计时器设计(FPGA,秒表,时钟,正向计时)
- 苹果x与苹果xs的区别_x与xs的区别
- prolog matlab,Prolog语言(耐心看完,你就入门了).ppt
- 汽车行业数据存储越发复杂?群晖备份存储方案为您支招
- 深度技术GHOSTXP SP3快速装机专业版V2011.07
- 《越狱》第二季过后,剧情跌宕起伏,各角色们的命运也各有不同,现公布如下
- Excel中Vlookup公式和IFError公式的使用
- excel 第8讲:if函数逻辑判断
- 甘肃省计算机专业和电子专业学院,甘肃电子工程技术学校