我正在尝试使用pyjnius实现android.bluetooth.le.ScanCallback这是一个抽象类。我实例化下面给出的python类的那一刻就有一个JVM错误。该错误表明android.bluetooth.le.ScanCallback不是接口类。我相信一个接口是一个抽象类。我错过了什么?
类ScanCallback(PythonJavaClass):
__ javainterfaces__ = ['android / bluetooth / le / ScanCallback']
def __init __(self,scanCallback,batchCallback = None,errorCallback = None):
super(ScanCallback, self).__init__()
self.batchCallbk = batchCallback
self.scanCallbk = scanCallback
self.errorCallbk = errorCallback
pass
@java_method ('(L/java/utils/List<ScanResult>/)V')
def onBatchScanResults(self,results):
print dir(results)
@java_method ('(I)V')
def onScanFailed(self, errorCode):
print "failed to scan" + str(errorCode)
raise ValueError(str(errorCode))
@java_method ('(IL/android/bluetooth/le/ScanResult)V')
def onScanResult(self, callbackType, result):
print dir(result)
答案 0 :(得分:0)
我发现使用PyJNius只能实现接口类(纯抽象类)而不是抽象类。 &#34;机器人/蓝牙/ LE / ScanCallback&#34;是一个抽象类,而不是早期蓝牙API(&lt; 21)的接口类。