coollang 发表于 2005-8-10 00:00:00

【Patch相关】振动的函数

一直想找到振动的函数,看了boyleven得 [原创][分享]短信铃声函数—实现未读短信振动提醒,发现可以用如下方法实现DAB55AD4。

0xB5:D44A DA B5 70 D5               calls   0B5h, GetVibraStatByProfile_
0xB5:D44E 48 40                     cmp   r4, #0
0xB5:D450 3D 12                     jmpr    cc_NZ, loc_B5D476
0xB5:D452 DA C5 CC C0               calls   0C5h, IsCallInProgress
0xB5:D456 48 40                     cmp   r4, #0
0xB5:D458 3D 0E                     jmpr    cc_NZ, loc_B5D476
0xB5:D45A E0 1C                     mov   r12, #1
0xB5:D45C 88 C0                     mov   [-r0], r12
0xB5:D45E E0 2D                     mov   r13, #2
0xB5:D460 88 D0                     mov   [-r0], r13
0xB5:D462 E6 FC C0 34               mov   r12, #34C0h
0xB5:D466 E6 FD 0E 00               mov   r13, #0Eh
0xB5:D46A E0 1E                     mov   r14, #1
0xB5:D46C E6 FF 2F 00               mov   r15, #2Fh ; '/'
0xB5:D470 DA B4 4C 72               calls   0B4h, pSendMessage?
0xB5:D474 08 04                     add   r0, #4
0xB5:D476             loc_B5D476:                           ; CODE XREF: PlayTongInSMS+54j
0xB5:D476                                                   ; PlayTongInSMS+5Cj
0xB5:D476 DB 00                     rets

即直接调用DAB55AD4也可,它是通过给系统发一个消息来实现的,在系统的消息相应函数中应该有震动的函数。

注意这样调用并不会判断当前振动是否开启,如果需要判断状态,可以调用DAB54AD4。
此外这个程序会判断是否在通话中,如果是的话会跳过!你可以重写需要的代码来实现自己的功能。





[此贴子已经被作者于2004-2-21 19:53:38编辑过]

MrJewes 发表于 2005-8-10 00:01:00

呵呵,还让我猜对了!

iamhcy 发表于 2005-8-10 00:02:00

既然如此,你们能否打一个补丁,让来电时,短振一下子,然后再响留响铃呢?我一直希望有这处补丁好久了,我以前用的2118一直有的!

coollang 发表于 2005-8-10 00:03:00

对了,Jewes,关于Tasking的地址,你需要设定EDE菜单的Lingker/Locator Options。
Format->Start Address.
Memory的相关部分如下:
UploadFile/20042211958417806.jpg

MrJewes 发表于 2005-8-10 00:04:00

@coollang,这个我已经在konca的帮助下解决了,感谢你!
另外,你那个来电图标对通讯录不同位置,我看不懂。我想做一个拨号时显示图标对通讯录不同位置或者是拨号是显示号码,这样就不会在拨号时不知道拨的是联系人下的哪个号码了,能给点提示吗?

coollang 发表于 2005-8-10 00:05:00

那个是在来电时判断来电号码,一般是在手机已经搜索完通讯录之后,比较来电和通讯录的几个号码(放在固定位置),然后在更改来电显示信息(一般是通讯录或电话簿中的姓名,也是在固定的地址中)。
如果想作拨出也要找到类似的地方才行。

liudehua 发表于 2005-8-10 00:06:00

M55里面内置声音里面,有一个就是震动。6688不一样吗?还是另有玄机

批评派 发表于 2005-8-10 00:07:00

点睛之作,谢谢

KoncaCN 发表于 2005-8-10 00:08:00

CoolLang呀,做个接通时震一下的补丁出来吧。

我要准备面试,所以忙一点。
你觉得我的IDB文件怎么样呀?

春树暮云 发表于 2005-8-10 00:09:00

以下是引用KoncaCN在2004-2-21 22:43:20的发言:
CoolLang呀,做个接通时震一下的补丁出来吧。

我要准备面试,所以忙一点。
你觉得我的IDB文件怎么样呀?


没错,那时说不能震是因为没有找到函数入口,既然现在找到了,那就快动手吧:D

nonlyli 发表于 2005-8-10 00:10:00

另外还有“播放任意铃声”的方法,整点报时那个停不下来。

xzc18 发表于 2005-8-10 00:12:00

有了你的贡献,相信大家想要的功能很快就能实现了

Zu 发表于 2005-8-10 00:13:00

以下是引用春树暮云在2004-2-21 23:20:13的发言:
以下是引用KoncaCN在2004-2-21 22:43:20的发言:
CoolLang呀,做个接通时震一下的补丁出来吧。

我要准备面试,所以忙一点。
你觉得我的IDB文件怎么样呀?


没错,那时说不能震是因为没有找到函数入口,既然现在找到了,那就快动手吧:D


定 定!~~~~~~~~~~~~~特别重要!~~~~~~~~~~~~~~
页: [1]
查看完整版本: 【Patch相关】振动的函数