BlueZ PushMessage函数向iPhone推送短信至发件箱失败求助
BlueZ PushMessage推送短信至iPhone发件箱失败问题
尝试使用BlueZ的PushMessage函数将文本消息传输至iPhone的发件箱以待发送。PushMessage函数能正确返回文件传输路径,但随即报错,传输状态仅更新为“queued”后变为“error”,推测iPhone因某种原因拒绝了传输。但根据MAP协议,这应是支持的功能。
通过D-Feet测试该函数,自行编写的C++代码运行后也得到相同结果。请问有人成功通过BlueZ/MAP连接,利用MessageAccess1接口的PushMessage函数将短信文件推送至手机发件箱吗?
函数定义
PushMessage (String file, String folder, Dict of {String, Variant} args)
其他信息
- Ubuntu主机
- 蓝牙连接无其他问题,包括拉取消息、列出消息等操作均正常
- 设备已配对、受信任且未被屏蔽
- iPhone已勾选同步联系人与显示通知
示例消息
BEGIN:BMSG VERSION:1.0 STATUS:READ TYPE:SMS_GSM FOLDER: BEGIN:BENV BEGIN:VCARD VERSION:2.1 N;CHARSET=UTF-8:test TEL;CHARSET=UTF-8:+12345678 END:VCARD BEGIN:BBODY CHARSET=UTF-8 LANGUAGE:ENGLISH LENGTH:44 BEGIN:MSG test END:MSG END:BBODY END:BENV END:BMSG
操作步骤
- 已建立MAP会话
- 文件夹设置为/telecom/msg/outbox
- 调用PushMessage,传入消息文件路径,其他参数留空
- 传输状态更新为queued
- 传输状态更新为error
已尝试方案
- 更改消息格式无效果
- 使用不同参数调用函数无效果
- 尝试推送消息至其他文件夹(如收件箱)结果相同
BTMON输出
< ACL Data TX: Handle 1 flags 0x00 dlen 343 #2 [hci0] 7.587024 Channel: 9495 len 339 [PSM 0 mode Basic (0x00)] {chan 65535} 2c 16 02 01 4f cb 62 40 69 e0 97 01 01 00 03 42 ,...O.b@i......B 00 10 78 2d 62 74 2f 6d 65 73 73 61 67 65 00 c3 ..x-bt/message.. 00 00 01 24 4c 00 06 14 01 01 48 01 27 42 45 47 ...$L.....H.'BEG 49 4e 3a 42 4d 53 47 0d 0a 56 45 52 53 49 4f 4e IN:BMSG..VERSION 3a 31 2e 30 0d 0a 53 54 41 54 55 53 3a 52 45 41 :1.0..STATUS:REA 44 0d 0a 54 59 50 45 3a 53 4d 53 5f 47 53 4d 0d D..TYPE:SMS_GSM. 0a 46 4f 4c 44 45 52 3a 0d 0a 42 45 47 49 4e 3a .FOLDER:..BEGIN: 42 45 4e 56 0d 0a 42 45 47 49 4e 3a 56 43 41 52 BENV..BEGIN:VCAR 44 0d 0a 56 45 52 53 49 4f 4e 3a 32 2e 31 0d 0a D..VERSION:2.1.. 4e 3b 43 48 41 52 53 45 54 3d 55 54 46 2d 38 3a N;CHARSET=UTF-8: 0d 0a 54 45 4c 3b 43 48 41 52 53 45 54 3d 55 54 ..TEL;CHARSET=UT 46 2d 38 3a 2b 31 38 34 38 32 34 34 33 30 30 38 F-8:+18482443008 0d 0a 45 4e 44 3a 56 43 41 52 44 0d 0a 42 45 47 ..END:VCARD..BEG 49 4e 3a 42 42 4f 44 59 0d 0a 43 48 41 52 53 45 IN:BBODY..CHARSE 54 3a 55 54 46 2d 38 0d 0a 4c 41 4e 47 55 41 47 T:UTF-8..LANGUAG 45 3a 45 4e 47 4c 49 53 48 0d 0a 4c 45 4e 47 54 E:ENGLISH..LENGT 48 3a 34 34 0d 0a 42 45 47 49 4e 3a 4d 53 47 0d H:44..BEGIN:MSG. 0a 68 74 74 70 73 3a 2f 2f 66 6c 69 70 2e 69 74 .https://flip.it 2f 4f 67 6e 44 66 64 0d 0a 45 4e 44 3a 4d 53 47 /OgnDfd..END:MSG 0d 0a 45 4e 44 3a 42 42 4f 44 59 0d 0a 45 4e 44 ..END:BBODY..END 3a 42 45 4e 56 0d 0a 45 4e 44 3a 42 4d 53 47 0d :BENV..END:BMSG. 0a 1c e6 ... < HCI Command: Exit Sniff Mode (0x02|0x0004) plen 2 #3 [hci0] 7.587142 Handle: 1 > HCI Event: Command Status (0x0f) plen 4 #4 [hci0] 7.588463 Exit Sniff Mode (0x02|0x0004) ncmd 2 Status: Success (0x00) > HCI Event: Mode Change (0x14) plen 6 #5 [hci0] 7.814580 Status: Success (0x00) Handle: 1 Mode: Active (0x00) Interval: 0.000 msec (0x0000) > HCI Event: Max Slots Change (0x1b) plen 3 #6 [hci0] 7.820539 Handle: 1 Max slots: 5 > HCI Event: Max Slots Change (0x1b) plen 3 #7 [hci0] 7.821439 Handle: 1 Max slots: 5 > HCI Event: Number of Completed Packets (0x13) plen 5 #8 [hci0] 7.826457 Num handles: 1 Handle: 1 Count: 1 > ACL Data RX: Handle 1 flags 0x02 dlen 13 #9 [hci0] 7.838646 Channel: 70 len 9 [PSM 0 mode Basic (0x00)] {chan 65535} 2c 17 90 00 05 97 01 a5 f6 ,........ < ACL Data TX: Handle 1 flags 0x00 dlen 14 #10 [hci0] 7.838772 Channel: 9495 len 10 [PSM 0 mode Basic (0x00)] {chan 65535} 2e 17 82 00 06 49 00 03 65 2e .....I..e. > HCI Event: Number of Completed Packets (0x13) plen 5 #11 [hci0] 7.863561 Num handles: 1 Handle: 1 Count: 1 > ACL Data RX: Handle 1 flags 0x02 dlen 11 #12 [hci0] 7.869710 Channel: 70 len 7 [PSM 0 mode Basic (0x00)] {chan 65535} 2e 18 d0 00 03 ae aa ....... > ACL Data RX: Handle 1 flags 0x02 dlen 8 #13 [hci0] 7.989773 Channel: 70 len 4 [PSM 0 mode Basic (0x00)] {chan 65535} 01 18 15 56 ...V < ACL Data TX: Handle 1 flags 0x00 dlen 8 #14 [hci0] 8.074191 Channel: 9495 len 4 [PSM 0 mode Basic (0x00)] {chan 65535} 01 18 14 61 ...a > HCI Event: Number of Completed Packets (0x13) plen 5 #15 [hci0] 8.099517 Num handles: 1 Handle: 1 Count: 1 > HCI Event: Mode Change (0x14) plen 6 #16 [hci0] 13.212618 Status: Success (0x00) Handle: 1 Mode: Sniff (0x02) Interval: 240.000 msec (0x0180) > HCI Event: Mode Change (0x14) plen 6 #17 [hci0] 21.135741 Status: Success (0x00) Handle: 1 Mode: Active (0x00) Interval: 0.000 msec (0x0000) > HCI Event: Max Slots Change (0x1b) plen 3 #18 [hci0] 21.140605 Handle: 1 Max slots: 5
内容的提问来源于stack exchange,提问作者mega
相关产品推荐
相关产品推荐

