热心网友
回答时间:2022-05-12 06:08
基于html5 plus做的app项目,利用Hbuilder在线云端打包,集成了小米推送,怎么集成暂且不提,飘易只说一说安卓手机如何在消息到达的时候,自定义铃声。
根据小米官方文档,在服务器端创建消息时可以设置自定义铃声:
调用Message.Builder类的extra(String key, String value)方法将key设置为"sound_uri",value设置为铃声的URI。
铃声只能使用当前app内的资源,URI格式满足 android.resource://your packagename/XXX/XXX。
铃声文件放在Android app的raw目录下。
存储的声音文件需要有扩展名,但是不要把扩展名写在uri中。
private Message buildMessage() throws Exception { String PACKAGENAME = "com.xiaomi.mipushdemo"; String messagePayload = “This is a message”; String title = “notification title”; String description = “notification description”; Message message = new Message.Builder() .title(title) .description(description).payload(messagePayload) .restrictedPackageName(MY_PACKAGE_NAME) .passThrough(0) //消息使用通知栏方式 .notifyType(1) .extra(Constants.EXTRA_PARAM_SOUND_URI, "android.resource://" + PACKAGENAME + "/raw/shaking") .build(); return message; }
很明显,小米要求我们把自定义铃声放置在Android APP项目根目录的 res/raw/ 文件夹里。注意这个目录不能有子文件夹。而我使用的是Hbuilder云端打包,云端打包并没有办法添加 res/raw 文件夹里面的声音资源,咨询 hbuilder 官方DCloud,答复说暂时还不支持此功能,后续补充。
好吧。难道只能离线打包?为了一个铃声,要把所有引用的sdk重新在本地部署一遍?改动太大,还是算了。
灵光一现,飘易想到另一个思路:继续云端打包,下载打包好的 apk 文件,我们进行反编译,在反编译后的res目录下添加raw文件夹,往里面添加音频文件,比如 shakingmp3.mp3 和 shakingaac.aac 两个音频。然后再编译成新的apk包,再将这个新apk包进行重新签名!
按照上面的思路走了一遍,发现果然好使!别问我为什么会想到,我是不会告诉你的。
收起
热心网友
回答时间:2022-05-12 07:26
在手机上推送消息的时候只震动不响铃,那看你手机的设置是不是现在是震动,没有铃声可以在设置声音里面设置一下。
收起
热心网友
回答时间:2022-05-12 09:01
你好,手机上推送消息的时候只有震动没有响铃,这个是你手机设置的问题,你打开手机到设置里面找到铃声,或者是消息提醒设置,在消息提醒设置里边把那个震动关闭掉,打开铃声或者是静音。
收起
热心网友
回答时间:2022-05-12 10:52
你好,你可以打开APP找到设置页面,有这个通知信息的设置的改成铃声就行了
收起
热心网友
回答时间:2022-05-12 13:00
米加APP在手机上推送消息的震动不响铃是可以在设置的声音内找到振动响声铃,上面就是这个铃声
收起
热心网友
回答时间:2022-05-12 15:25
这个是可以在设置中找到手机通知选项,然后将这个软件更改了就可以了。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。
收起