发送联系人(经短信) 的功能怎么实现?

时间:2021-07-18 07:45:03
发送联系人(经短信) 的功能怎么实现? (不能用彩信的方式)

进入联系人界面, 在其中一个联系人上, 点菜单->发送联系人-> 短信,  

模拟器上可以看到这个效果,有的真机上没有这个功能.

有没有达人做过的,指点一下,谢谢呀

借用别人的图,如下: 
http://p.blog.csdn.net/images/p_blog_csdn_net/czbev er/EntryImages/20090710/b.jpg

68 个解决方案

#1


发送联系人(经短信) 的功能怎么实现?

#2


先要实现扩展菜单,参见SDK下的例子:\PocketPC\CPP\win32\MedicalHistory
之后就是将该联系人的信息读取出来,放到短信的Body中。
需要看看MAPI和POOM相关的接口。
SDK中也有相关的例子。

#3


这样子的话就是普通的短信了.

你先看下效果, 接收方收到此短信后,会提示是否把此联系人存入电话本,所以用普通的短信的方式的话,效果不对,

是不是还要设置什么?

#4


up

#5


up

#6


up

#7


引用 2 楼 jiangyongtao 的回复:
先要实现扩展菜单,参见SDK下的例子:\PocketPC\CPP\win32\MedicalHistory 
之后就是将该联系人的信息读取出来,放到短信的Body中。 
需要看看MAPI和POOM相关的接口。 
SDK中也有相关的例子。


扩展菜单?不用吧  它这个是在他自己软件上实现功能  又不需要在联系人这块加什么菜单

主要就是读联系人信息啊

#8


这样说吧,  我现在就是要自已写个应用程序, 实现跟系统这个一模一样的功能

#9



是你不会读联系人吗?

CoInitializeEx(NULL,0);
 CoCreateInstance(CLSID_Application, NULL, CLSCTX_INPROC_SERVER, 
IID_IPOutlookApp, reinterpret_cast<void **>(&g_polApp));

g_polApp->Logon(NULL);

IFolder * pFolder; 
IPOutlookItemCollection * pItems; 
g_polApp->GetDefaultFolder(olFolderContacts, &pFolder);
pFolder->get_Items(&pItems);
.
.
.

按照这个顺序就可以读出联系人来,在具体的东西你就查POOM吧
不知道的再问

#10


发送联系人(经短信) 的功能怎么实现?

#11


读联系人,发短信我都实现了,现在就是要接收方会有上图的效果,  按照上面的方法,只能是普通的短信, 不会有上图所示的提示的

#12


监控短信,自定义个格式,收到后提示是或者否,再去插入或者放弃~~~

#13


这个可能要多个短信拦截的功能,多个提示框的显示, 呵呵

可以看看sdk里的例子 Notifycation这个 再结合MapiRule 

就可以搞出来了

#14


我要做的是只管发, 收的功能实现不做,  

我要保证我发的短信,能让系统辩别出我是发的联系人,让系统自动出现这个提示框

#15


怒了, 若大个中国, 没人会吗

#16


up

#17


引用 14 楼 ahao2084 的回复:
我要做的是只管发, 收的功能实现不做,  

我要保证我发的短信,能让系统辩别出我是发的联系人,让系统自动出现这个提示框


实在不太明白楼主的意思 

这个提示框是对方手机上的提示 那跟你这实现有什么关系呢?跟你这一点关系都没啊

#18


楼主再整理一下思路 有点表述不清了

#19


我如果按普通短信的方式发送的话, 对话接收到的话,就不会有这个提示框,而实际上通过短信发送联系人,应该出现此对话框,

所以我如何以普通短信的方式实现的话,是错误的, 而不是普通的短信

#20


up

#21


UP

#22


up

#23


直接将帖子提前就行了 不用up 哈哈

#24


帮顶.手机上有啊.

#25


短信内容是vCard格式吧?

#26


DING

#27


HHp

#28


今天混个分。顶!

#29


up up!

#30


引用 12 楼 roc196 的回复:
监控短信,自定义个格式,收到后提示是或者否,再去插入或者放弃~~~


ddddddddddddddd

#31


鸟, 试了半天,用短信拦截的方式,把收到的短信的属性读出来,终于发现PR_MESSAGE_CLASS属性为IPM.SMStext.vCard, 这就是我要的效果了, 

所以, 在我的发送程序里,把PR_MESSAGE_CLASS属性设置为IPM.SMStext.vCard , 但是发送之后,接收方收不到此短信, 邪门了 ,而在已发信箱里是可以看到此短信,效果也有, 左菜单有个"Accept".(accept之后系统就可以把联系人信息导入联系人名单里)  

现在的问题还是发送程序的问题, 联系人的信息通过什么传递, 还有啥属性要设置, 找了半天找不到,

我试过把vcf文件作为附件 加入短信的属性, 但是接收的时候收不到. 或者说我的发送程序有问题??

哪个达人指点一下.

#32


[img=http://album.hi.csdn.net/app_uploads/nihao38/20090715/185821439.p.jpg?d=20090715185831892][/img]

#33


[img=http://album.hi.csdn.net/app_uploads/nihao38/20090715/193838236.p.jpg?d=20090715193848017][/img]

#34


我想加D分啊

#35


关注

#36


用飞信不是更方便吗

#37


关注

#38


ding....

#39


短信内容符合vCard标准就可以了吧

#40


怎么个标准法,能说一下吗

#41


http://172.18.130.47/ITEF/Form_RTXuserInfAppr.aspx?formid=IT212_000004&isFromLotus=1

#42


大哥,你给的网址打不开

#43


mark

#44


关注一下

#45


帮顶一个。

#46


我也想知道

#47


ahhah 虾哈  这玩意 

#48


http://en.wikipedia.org/wiki/VCard

这是vcard的格式说明,我觉得这个应该有用吧


我猜测可能是要读联系人的详细信息 然后写成vcard的形式,包装在短信里,然后再发送。

http://www.codeproject.com/KB/vb/vcard.aspx 这里是包装vcard的例子 老外写的  我没详细看 

希望高人出来指点一下 呵呵

#49


看来有点难度

#50


引用 31 楼 nihao38 的回复:
鸟, 试了半天,用短信拦截的方式,把收到的短信的属性读出来,终于发现PR_MESSAGE_CLASS属性为IPM.SMStext.vCard, 这就是我要的效果了, 

所以, 在我的发送程序里,把PR_MESSAGE_CLASS属性设置为IPM.SMStext.vCard , 但是发送之后,接收方收不到此短信, 邪门了 ,而在已发信箱里是可以看到此短信,效果也有, 左菜单有个"Accept".(accept之后系统就可以把联系人信息导入联系人名单里)  

现在的问题还是发送程序的问题, 联系人的信息…


你这个只是设置了个属性吧 可能还要把vcard的内容写成短信格式  哈哈 

小子 加油啊  建议把代码帖出来看一下

#1


发送联系人(经短信) 的功能怎么实现?

#2


先要实现扩展菜单,参见SDK下的例子:\PocketPC\CPP\win32\MedicalHistory
之后就是将该联系人的信息读取出来,放到短信的Body中。
需要看看MAPI和POOM相关的接口。
SDK中也有相关的例子。

#3


这样子的话就是普通的短信了.

你先看下效果, 接收方收到此短信后,会提示是否把此联系人存入电话本,所以用普通的短信的方式的话,效果不对,

是不是还要设置什么?

#4


up

#5


up

#6


up

#7


引用 2 楼 jiangyongtao 的回复:
先要实现扩展菜单,参见SDK下的例子:\PocketPC\CPP\win32\MedicalHistory 
之后就是将该联系人的信息读取出来,放到短信的Body中。 
需要看看MAPI和POOM相关的接口。 
SDK中也有相关的例子。


扩展菜单?不用吧  它这个是在他自己软件上实现功能  又不需要在联系人这块加什么菜单

主要就是读联系人信息啊

#8


这样说吧,  我现在就是要自已写个应用程序, 实现跟系统这个一模一样的功能

#9



是你不会读联系人吗?

CoInitializeEx(NULL,0);
 CoCreateInstance(CLSID_Application, NULL, CLSCTX_INPROC_SERVER, 
IID_IPOutlookApp, reinterpret_cast<void **>(&g_polApp));

g_polApp->Logon(NULL);

IFolder * pFolder; 
IPOutlookItemCollection * pItems; 
g_polApp->GetDefaultFolder(olFolderContacts, &pFolder);
pFolder->get_Items(&pItems);
.
.
.

按照这个顺序就可以读出联系人来,在具体的东西你就查POOM吧
不知道的再问

#10


发送联系人(经短信) 的功能怎么实现?

#11


读联系人,发短信我都实现了,现在就是要接收方会有上图的效果,  按照上面的方法,只能是普通的短信, 不会有上图所示的提示的

#12


监控短信,自定义个格式,收到后提示是或者否,再去插入或者放弃~~~

#13


这个可能要多个短信拦截的功能,多个提示框的显示, 呵呵

可以看看sdk里的例子 Notifycation这个 再结合MapiRule 

就可以搞出来了

#14


我要做的是只管发, 收的功能实现不做,  

我要保证我发的短信,能让系统辩别出我是发的联系人,让系统自动出现这个提示框

#15


怒了, 若大个中国, 没人会吗

#16


up

#17


引用 14 楼 ahao2084 的回复:
我要做的是只管发, 收的功能实现不做,  

我要保证我发的短信,能让系统辩别出我是发的联系人,让系统自动出现这个提示框


实在不太明白楼主的意思 

这个提示框是对方手机上的提示 那跟你这实现有什么关系呢?跟你这一点关系都没啊

#18


楼主再整理一下思路 有点表述不清了

#19


我如果按普通短信的方式发送的话, 对话接收到的话,就不会有这个提示框,而实际上通过短信发送联系人,应该出现此对话框,

所以我如何以普通短信的方式实现的话,是错误的, 而不是普通的短信

#20


up

#21


UP

#22


up

#23


直接将帖子提前就行了 不用up 哈哈

#24


帮顶.手机上有啊.

#25


短信内容是vCard格式吧?

#26


DING

#27


HHp

#28


今天混个分。顶!

#29


up up!

#30


引用 12 楼 roc196 的回复:
监控短信,自定义个格式,收到后提示是或者否,再去插入或者放弃~~~


ddddddddddddddd

#31


鸟, 试了半天,用短信拦截的方式,把收到的短信的属性读出来,终于发现PR_MESSAGE_CLASS属性为IPM.SMStext.vCard, 这就是我要的效果了, 

所以, 在我的发送程序里,把PR_MESSAGE_CLASS属性设置为IPM.SMStext.vCard , 但是发送之后,接收方收不到此短信, 邪门了 ,而在已发信箱里是可以看到此短信,效果也有, 左菜单有个"Accept".(accept之后系统就可以把联系人信息导入联系人名单里)  

现在的问题还是发送程序的问题, 联系人的信息通过什么传递, 还有啥属性要设置, 找了半天找不到,

我试过把vcf文件作为附件 加入短信的属性, 但是接收的时候收不到. 或者说我的发送程序有问题??

哪个达人指点一下.

#32


[img=http://album.hi.csdn.net/app_uploads/nihao38/20090715/185821439.p.jpg?d=20090715185831892][/img]

#33


[img=http://album.hi.csdn.net/app_uploads/nihao38/20090715/193838236.p.jpg?d=20090715193848017][/img]

#34


我想加D分啊

#35


关注

#36


用飞信不是更方便吗

#37


关注

#38


ding....

#39


短信内容符合vCard标准就可以了吧

#40


怎么个标准法,能说一下吗

#41


http://172.18.130.47/ITEF/Form_RTXuserInfAppr.aspx?formid=IT212_000004&isFromLotus=1

#42


大哥,你给的网址打不开

#43


mark

#44


关注一下

#45


帮顶一个。

#46


我也想知道

#47


ahhah 虾哈  这玩意 

#48


http://en.wikipedia.org/wiki/VCard

这是vcard的格式说明,我觉得这个应该有用吧


我猜测可能是要读联系人的详细信息 然后写成vcard的形式,包装在短信里,然后再发送。

http://www.codeproject.com/KB/vb/vcard.aspx 这里是包装vcard的例子 老外写的  我没详细看 

希望高人出来指点一下 呵呵

#49


看来有点难度

#50


引用 31 楼 nihao38 的回复:
鸟, 试了半天,用短信拦截的方式,把收到的短信的属性读出来,终于发现PR_MESSAGE_CLASS属性为IPM.SMStext.vCard, 这就是我要的效果了, 

所以, 在我的发送程序里,把PR_MESSAGE_CLASS属性设置为IPM.SMStext.vCard , 但是发送之后,接收方收不到此短信, 邪门了 ,而在已发信箱里是可以看到此短信,效果也有, 左菜单有个"Accept".(accept之后系统就可以把联系人信息导入联系人名单里)  

现在的问题还是发送程序的问题, 联系人的信息…


你这个只是设置了个属性吧 可能还要把vcard的内容写成短信格式  哈哈 

小子 加油啊  建议把代码帖出来看一下