首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyjnius java抽象类实现

pyjnius java抽象类实现
EN

Stack Overflow用户
提问于 2016-10-18 23:34:00
回答 1查看 330关注 0票数 1

我正在尝试实现android.bluetooth.le.ScanCallback,这是一个使用pyjnius的抽象类。当我实例化下面给定的python类时,出现了一个JVM错误。该错误指出android.bluetooth.le.ScanCallback不是接口类。我相信接口是一个抽象的类。我遗漏了什么?

代码语言:javascript
复制
class 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)
EN

回答 1

Stack Overflow用户

发布于 2016-11-03 14:33:42

我发现使用PyJNius只能实现接口类(纯抽象类),而不能实现抽象类。"android/ bluetooth /le/ScanCallback“是一个抽象类,而不是一个接口类,这是早期蓝牙API (< 21)的情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40112401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档