Widget API 接口实例演示(二) ——Telephony类和PIM类
OPhone平台开发, 2010-01-05 15:03:07
标签 : 接口 API PIM Telephony
关于电话通讯的接口 —— Telephony 类
Telephony 下面有两个子对象,
CallRecord 和
CallRecordTypes 。
有六个方法:
1,
deleteAllCallRecords(<String> callRecordType) 删除所有指定的通话记录类型,通话记录类型由
callRecordType 提供,
callRecordType 能提供三种类型:
MISSED 未接电话,
OUTGOING 拨出电话,
RECEIVED 已接电话。
2,
deleteCallRecord 删除指定的通话记录, callRecordType 提供记录类型,参数id指定编号为第几的号码。 (<String> callRecordType, <String> id)
3,
findCallRecords(<CallRecord>comparisonRecord, <Number> startInx,<Number> endInx)
异步函数,在通话记录里搜索指定的号码,
comparisonRecord 指定一个号码,
startInx 返回搜索结果从第几条开始,
endInx 返回搜索结果在第几条结束,如果你搜索到了10个相同的记录,只想返回第5到第7条记录,那么
startInx 填4
,
endInx 填6
.
startInx 的基数从0开始。
4,
getCallRecord(<String> callRecordType, <String> id) 返回一个通话记录,
callRecordType 指定类型,id指定编号。
5,
getCallRecordCnt(<String> callRecordType) 返回通话记录的总数,
callRecordType 指定通话记录类型。
6,
initiateVoiceCall(<String> phoneNumber) 拨打一个电话
phoneNumber 指定电话号码。
两个事件:
1,
onCallEvent(<String> callType, <String> phoneNumber) 系统事件,当有电话拨入,或者拨出,或者有未接的电话时发生,
onCallEvent 为回调函数,自动传入两个参数,
callType 电话类型,默认的有"received", "missed" 和 "outgoing" ,
phoneNumber 为电话号码。
2,
onCallRecordsFound(<Array> callRecordsFound) 程序事件,当找到匹配的电话号码时发生,这个事件是在使用
findCallRecords 方法后发生,
findCallRecords 方法本身没有返回,而
onCallRecordsFound 事件将传递一个数组参数,这个数组就是
findCallRecords 方法找到的匹配结果。
CallRecord 概要:
这里先介绍
CallRecord 类和
CallRecordTypes 类的概要,这两个类不会单独演示,将和
Telephony 的方法一起演示。
CallRecord 类有四个数据成员:
1,
callRecordAddress 为通话记录中的号码
2,
callRecordId 为通话记录的编号
4,
callRecordType 为通话记录的类型
5,
durationSeconds 为通话时间,以秒做单位
6,
startSeconds 为通话开始时间
CallRecordTypes 概要:
CallRecordTypes 能表示三种类型
1,
MISSED 代表未接电话
2,
OUTGOING 代表拨出电话
3,
RECEIVED 代表已接听电话
Telephony 方法演示:
首先建立程序界面,如下图:
里面的数据在js代码里会有介绍,界面代码:
- <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>
js代码:
- //我们的测试行为是,当程序启动时,在程序的界面上显示一共有多少个电话拨出记录,
- //最早的一个记录是什么号码,在什么时间拨出去,最晚的一个记录是什么号码,在什么
- //时间拨出去,当按下拨打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函数
执行效果:
当程序开始启动时,显示:
因为笔者在模拟器上只打过一个电话,所以最早和最近的拨出号码是一样的。
当笔者拨打了114后,在按刷新按钮,界面显示如下:
当笔者按删除信息按钮后,界面显示如下:
将删除早先拨打10086的记录,所以只剩下拨打114的电话记录。
CallRecord 类的其他数据成员,表示一条通讯记录的其他信息,读者可以自己去试验。读者也可以查询未接电话和已接电话,只需将
CallRecordTypes 类的类型更改为
MISSED 或者
RECEIVED 。记录的ID是一条记录的唯一标识符,一般需通过
findCallRecords 方法获得。
关于个人信息管理的接口
—— PIM
类
PIM 下面有三个子对象:
AddressBookItem ,
EventRecurrenceTypes ,
CalendarItem
16个方法:
1,
addAddressBookItem(<AddressBookItem> contact) 添加一个联系人
2,
addCalendarItem(<CalendarItem> calendarItem) 添加一个日历项目
3,
createAddressBookGroup(<String> groupName) 在地址簿上创建一个新的组
4,
createAddressBookItem()
创建一个空的联系人
5,
deleteAddressBookGroup(<String> groupName) 删除地址簿上的一个组
6,
deleteAddressBookItem(<String> contactid) 通过指定的ID删除一个联系人
7,
deleteCalendarItem(<String> calendarId) 通过指定的ID删除一个日历项目
8,
exportAsVCard(addressBookItems) 异步函数,用以导出电子名片
9,
findAddressBookItems(<AddressBookItem> comparisonContact, <Number> startInx, <Number> endInx) 异步函数,找到所有指定的联系人项目
10,
findCalendarItems(<CalendarItem> itemToMatch, <Number> startInx, <Number> endInx) 异步函数,找到所有指定的日历项目
11,
getAddressBookGroupMembers(groupName)
找到所有指定小组中的联系人成员
12,
getAddressBookItem(<String> contactid) 通过指定的ID返回一个联系人
13,
getAddressBookItemsCount() 返回联系人总数
14,
getAvailableAddressGroupNames() 返回地址簿中所有的组名
15,
getCalendarItem(<String> calendarId) 通过指定的ID返回一个日历项目
16,
getCalendarItems(<Date> startTime, <Date> endTime) 返回指定时间内所有的日历项目
四个程序事件:
1,
onAddressBookItemsFound 当findAddressBookItems 方法和getAddressBookGroupMembers 方法完成后发生此事件 (addressBookItemsFound)
2,
onCalendarItemAlert(<CalendarItem> calendarItem) 当日历项目的警报启动时发生此事件
3,
onCalendarItemsFound(calendarItemsFound)
当
findCalendarItems 方法和
getAddressBookGroupMemebers 方法完成后发生此事件
4,
onVCardExportingFinish(<String> vCardFilePath) 当电子名片导出完成后发生此事件
AddressBookItem 概要:
AddressBookItem 类的对象存储了联系人的信息,信息内容有
1,
address 联系人的邮政地址
2,
addressBookItemId 联系人在地址簿里的ID
3,
company 联系人所属公司
4,
eMail
5,
fullName 全名
6,
homePhone 家庭电话
7,
mobilePhone 移动电话
8,
title 信息内容标签
9,
workPhone 工作电话
有六个方法:
1,
getAddressGroupNames() 返回联系人所在的组名
2,
getAttributeValue(<String> attribute) 返回指定属性的值
3,
getAvailableAttributes() 返回联系人可用的属性
4,
setAddressGroupNames(<Array> groups) 设置联系人的组名,参数为字符串数组,可同
时指定多个组名
5,
setAttributeValue(<String> attribute, <String> value) 设置属性值
6,
update() 更新信息
地址簿操作演示:
笔者先来综合演示下地址簿常用的操作方法。
首先建立界面如下:
界面代码:
- <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>
Js代码:
- // 当我们点击添加号码的时候将会在通讯录中添加一个联系人,联系人全名为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;
执行效果:
当添加联系人后:
当更新信息后:
添加了一个家庭电话。
按下删除按钮后,将删除联系人。
CalendarItem 概要:
CalendarItem 类的对象存储了一个日历项目的内容,内容有:
1,
alarmDate 此项目提醒时间
2,
alarmed 此项目是否有设置提醒,此为
Boolean 值
3,
calendarItemId 此项目的ID
4,
eventEndTime 事件结束时间
5,
eventName
事件名称
6,
eventNotes 事件内容
7,
eventRecurrence 事件的提醒模式,由
EventRecurrenceTypes 决定
8,
eventStartTime 事件开始时间
一个方法:
1,
update() 更新日历项目
EventRecurrenceTypes 概要:
EventRecurrenceTypes 为日历项目的提醒模式,一共有七种提醒模式:
1,
DAILY 每日提醒
2,
EVERY_WEEKDAY 工作日提醒
3,
MONTHLY_ON_DAY 每月提醒一次
4,
MONTHLY_ON_DAY_COUNT 每月最后一个星期提醒
5,
NOT_REPEAT
不重复
6,
WEEKLY_ON_DAY 每周提醒
7,
YEARLY 每年提醒一次
日历项目操作演示:
建立界面如下:
界面代码:
- <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>
Js代码:
- //添加一个事件,和删除一个事件
- 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;
执行效果:
程序所添加的事件
事件名为Test,没有添加事件内容,因为没有指定结束时间,所以默认在一个小时后结束,因为添加事件的时间为周五,所以会在每周的周五提醒。
按下删除事件按钮将删除此事件。
本章总结:
这一章主要介绍了
Telephony 类和
PIM 类,对他们的基本操作做了演示。希望对大家有所帮助。