背景
華為快應(yīng)用有自己單獨的運行引擎,但是有些能力華為快應(yīng)用還不支持,我想在我代碼中判斷一下,如果是華為手機,就不調(diào)用此接口了,有辦法做到嗎?
解決方法
通過咨詢?nèi)A為快應(yīng)用技術(shù)支持,發(fā)現(xiàn)可以通過快應(yīng)用的device.getInfo(OBJECT)接口返回的引擎提供商判斷,該分支是華為擴展的(聯(lián)盟快應(yīng)用接口沒有返回),代表快應(yīng)用引擎的提供商,華為手機上會返回“ huawei” 。 設(shè)備接口文檔鏈接如下:https : //developer.huawei.com/consumer/cn/doc/development/quickApp-References/quickapp-api-device#getInfo
示例代碼如下:
getDeviceInfo: function () {<font></font>
var that = this<font></font>
device.getInfo({<font></font>
success: function (ret) {<font></font>
that.deviceInfo = JSON.stringify(ret)<font></font>
if (that.deviceInfo.indexOf('engineProvider') >= 0 && that.deviceInfo.indexOf('huawei') >= 0) {<font></font>
that.isHuawei = true<font></font>
} else {<font></font>
that.isHuawei = false<font></font>
}<font></font>
},<font></font>
fail: function (errorMsg, errorCode) {<font></font>
that.deviceInfo = errorCode + ': ' + errorMsg<font></font>
}})<font></font>
},