plyer加速度计未在Android手机上实现错误

时间:2016-09-29 05:20:27

标签: android python

我安装了Qpython(Python 2.7)和plyer on may android手机(三星Galaxy J5,带加速度计 - 没有陀螺仪)。我想阅读加速度计值。我只需在控制台上输入三行代码:

from plyer.facades import Acceleromter 
acc = Accelerometer() 
print acc.acceleration

我得到NotImplementedError。我错过了什么?

编辑:其他调查结果:

调用加速度计的另一种方法如下。而不是通过外墙,直接从plyer导入加速度计(小a),所以:

from plyer import accelerometer

这个命令看起来很好,没有错误。但如果我质疑加速度计只是键入

accelerometer
在python控制台上,我得到了很多jnius错误,以:

结尾
File "jnius_export_class.pxi", line 44, in jnius.jnius.MetaJavaClass.__new__(jnius/jnius.c:13255)
SystemError: NULL result without error in PyObject_call

但它给出了模块的十六进制地址,所以sw就在那里。但很可能无法访问hw。

我检查过CPU-Z应用程序已关闭。但有可能以某种方式CPU-z阻止安装设置的访问,即使它已关闭?当我打开它时,我可以看到加速计正在工作。

1 个答案:

答案 0 :(得分:0)

根据documentation,您必须首先启用加速度计。如果不这样做,它将抛出此代码中提供的NotImplementedError异常:

def enable(self):
     '''Activate the accelerometer sensor. Throws an error if the
     hardware is not available or not implemented on.
     '''
     self._enable()

在代码的下方,你会看到:

def _enable(self):
        raise NotImplementedError()

我可能没有完全解释自己,但在检查此代码时,您应该能够确定导致此错误的原因。主要是,应用程序(QPython)或硬件可能不支持此功能。