pyjnius를 사용하는 추상 클래스 인 android.bluetooth.le.ScanCallback을 구현하려고합니다. 아래의 주어진 python 클래스를 인스턴스화하는 순간에는 JVM 오류가 있습니다. 이 오류는 android.bluetooth.le.ScanCallback이 인터페이스 클래스가 아니라고 설명합니다. 나는 인터페이스가 추상 클래스라고 생각한다. 내가 뭘 놓치고 있니?pyjnius java 추상 클래스 구현
클래스 ScanCallback (PythonJavaClass)
__javainterfaces__ = '로이드/블루투스/제작/ScanCallback']
DEF __init __ (자기, scanCallback, batchCallback가 = 없음, errorCallback = 없음)
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)