建立牢固的多功能Smartphone应用程序 04
- UID
- 872238
|
建立牢固的多功能Smartphone应用程序 04
访问电话特性
通过Windows CE API,开发人员能简单地给应用程序添加电话功能。类似自动拨号、与调用日志交互、访问SIM卡的能力、发送和接收SMS消息等等特性可以简单地添加到应用程序。为了工作正常,大多数技术API需要真实的设备或者GSM无线设备连接到模拟器,因此如果你计划开发这些类型的特性,准备好测试真实的设备。
电话特性的一个最简单的例子是在应用程序中建立语音通话。因为我们有随着Smartphone一起发布的辅助TAPI,只需要一行代码。所有需要作的是在代码中包含astdtapi.h文件,在连接程序设置中添加cellcore.lib,并调用tapiRequestMakeCall函数:
TCHAR szDefaultNum[] = TEXT("+1 (555) 555-5555");LONG lResult;lResult = tapiRequestMakeCall((LPTSTR) szDefaultNum, NULL, NULL, NULL);return TRUE; |
发送SMS消息也很简单。有了辅助TAPI,你只需要在代码中添加一个文件引用(sms.h),在连接程序设置中添加一个库(sms.lib)。发送或者接收消息的第一步是调用SmsOpen函数,下一步初始化源和目的地址,完成后调用SmsSendMessage函数。最后一步是调用SmsClose函数清除建立的SMS_HANDLE。代码见图5。
SMS_HANDLE smshHandle;SMS_ADDRESS smsaSource;SMS_ADDRESS smsaDestination;TEXT_PROVIDER_SPECIFIC_DATA tpsd;SMS_MESSAGE_ID smsmidMessageID;//尝试打开一个SMS句柄if(FAILED(SmsOpen(SMS_MSGTYPE_TEXT, SMS_MODE_SEND, &smshHandle, NULL))){ MessageBox(NULL,L"Call to SmsOpen failed.",L"Error",MB_OK | MB_IConERROR); return;}//建立源地址if(!bUseDefaultSMSC){ smsaSource.smsatAddressType = SMSAT_INTERNATIONAL; _tcsncpy(smsaSource.ptsAddress, lpszSMSC, SMS_MAX_ADDRESS_LENGTH);}//建立目标地址smsaDestination.smsatAddressType = SMSAT_INTERNATIONAL;_tcsncpy(smsaDestination.ptsAddress, lpszRecipient, SMS_MAX_ADDRESS_LENGTH);//建立提供者特定数据tpsd.dwMessageOptions = bSendConfirmation ? PS_MESSAGE_OPTION_STATUSREPORT : PS_MESSAGE_OPTION_NONE;tpsd.psMessageClass = PS_MESSAGE_CLASS1;tpsd.psReplaceOption = PSRO_NONE;//发送消息,显示源或者失败if(SUCCEEDED(SmsSendMessage(smshHandle, ((bUseDefaultSMSC) ? NULL : &smsaSource), &smsaDestination, NULL, (PBYTE) lpszMessage, _tcslen(lpszMessage) * sizeof(TCHAR), (PBYTE) &tpsd, sizeof(TEXT_PROVIDER_SPECIFIC_DATA), SMSDE_OPTIMAL, SMS_OPTION_DELIVERY_NONE, &smsmidMessageID))){ MessageBox(NULL, L"Message sent", L"Success",MB_OK);}else{ MessageBox(NULL, L"SmsSendMessage Failed", L"Error",MB_OK | MB_IConERROR);}//清除VERIFY(SUCCEEDED(SmsClose(smshHandle))); |
图5.SMS代码例子
它还提供了更多的API,我只介绍了几个基本的。有了这些能力,移动应用程序在原来的基础上有了很大的扩充。例如,当应用程序中特定事件发生时能够触发自动呼叫或消息。
结论
本文我讨论了建立真实Smartphone应用程序的一些基础。你可以看到该类型的Smartphone应用程序在企业计算领域是非常引人注目的。 |
|
|
|
|
|