第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

無(wú)法在 Kotlin 中覆蓋 Java 函數(shù)

無(wú)法在 Kotlin 中覆蓋 Java 函數(shù)

慕桂英3389331 2021-11-11 16:56:32
我目前正在使用 Kotlin 開發(fā)一個(gè)支持 BLE 的 Android 應(yīng)用程序,目標(biāo)是 API 27。我正在嘗試覆蓋android.bluetooth.BluetoothGatt. 有許多回調(diào)可用于覆蓋以啟用某些 BLE 事件的處理。例如,我通過onConnectionStateChange()以下方式覆蓋:private val bluetoothGattCallback = object : BluetoothGattCallback() {    override fun onConnectionStateChange(gatt: BluetoothGatt, status: Int, newState: Int) {        /* do stuff */    }這工作得很好。我的問題源于試圖覆蓋onConnectionUpdated(). 此回調(diào)的定義方式onConnectionStateChange()與BLE API 源中的定義方式相同,為什么我無(wú)法覆蓋它?這就是我試圖覆蓋它的方式(仍在BluetoothGattCallback()對(duì)象內(nèi)):fun onConnectionUpdated(gatt: BluetoothGatt, interval: Int, latency: Int, timeout: Int, status: Int) {    /* do stuff */}編輯:我忘了提到,當(dāng)我添加override關(guān)鍵字時(shí),它提供了錯(cuò)誤消息:OnConnectionUpdated overrides nothing.。原諒我的天真,我不經(jīng)常使用 Kotlin/Java,謝謝。
查看完整描述

1 回答

?
一只名叫tom的貓

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊

您不應(yīng)使用此方法,它僅供內(nèi)部使用,而不是公共 API 的一部分。因此它是通過 隱藏的@hide。有關(guān)更多信息@hide以及如何訪問它,請(qǐng)參閱Android 源代碼中的 @hide 是什么意思?

請(qǐng)注意,不鼓勵(lì)使用反射來(lái)訪問它,如上面鏈接中所述

您要使用的方法位于具有以下限制深灰名單中

黑灰名單

  • 對(duì)于目標(biāo) SDK 低于 API 級(jí)別 28 的應(yīng)用程序:
    允許每次使用深灰名單接口。

  • 目標(biāo) SDK 為 API 級(jí)別 28 或更高級(jí)別的應(yīng)用:行為與黑名單相同

blacklist : 無(wú)論目標(biāo) SDK 是什么,都受到限制。平臺(tái)的行為就像沒有接口一樣。例如,它會(huì)在應(yīng)用程序嘗試使用它時(shí)拋出 NoSuchMethodError/NoSuchFieldException,并且當(dāng)應(yīng)用程序想要知道特定類的字段/方法列表時(shí)不會(huì)包含它。


查看完整回答
反對(duì) 回復(fù) 2021-11-11
  • 1 回答
  • 0 關(guān)注
  • 259 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)