當前位置:股票大全官網 - 工商資訊咨詢 - 米家app在手機上推送消息時,只震動不響。怎麽才能設置成響鈴?

米家app在手機上推送消息時,只震動不響。怎麽才能設置成響鈴?

基於html5 plus的App項目,使用Hbuilder在線雲封裝,集成了小米推送,如何集成暫且不說,飄移只說安卓手機如何自定義消息到達時的鈴聲。

根據小米的官方文檔,在服務器端創建消息時可以設置自定義鈴聲:

調用消息的extra(String key,String value)方法。生成器類將鍵設置為“聲音_URI ”,將值設置為鈴聲的URI。

鈴聲只能使用當前app中的資源,URI格式符合Android . resource://your package name/XXX/XXX。

鈴聲文件放在Android app的raw目錄下。

存儲的聲音文件需要擴展名,但是不要在uri中寫擴展名。

私信buildMessage()拋出異常{ String package name = " com . Xiaomi . mipushdemo ";String messagePayload = "這是壹條消息";String title = "通知標題";String description = "通知描述";消息消息=新消息。構建器()。標題(標題)。描述(描述)。有效負載(messagePayload)。受限包名稱(我的包名稱)。pass through(0)//消息使用通知欄。notifyType(1)。。額外的(常量。EXTRA_PARAM_SOUND_URI," Android . resource://"+package name+"/raw/shaking ")。build();返回消息;}

很明顯,小米要求我們將自定義鈴聲放在Android APP項目根目錄下的res/raw/文件夾中。請註意,該目錄不能有子文件夾。我用的是Hbuilder雲打包,雲打包裏的res/raw文件夾裏沒有辦法添加聲音資源。咨詢了hbuilder的官方DCloud,回復暫時不支持這個功能,以後再補充。

好吧。只能離線打包嗎?為鈴聲在本地重新部署所有引用的sdk?變化太大,還是算了吧。

靈光壹現,樸易想到了另壹個主意:繼續在雲端打包,下載打包好的apk文件。我們反編譯,在反編譯的res目錄下添加raw文件夾,在裏面加入音頻文件,比如shakingmp3.mp3,shakingaac.aac .然後編譯成新的apk包,然後重新簽名這個新的apk包!

按照上面的思路,我又走了壹遍,發現有效!別問我怎麽想到的,我不會告訴妳的。