我无法弄清楚如何使用python或kivy访问我的android上的led灯,我已经尝试安装python-for-android以便能够将android模块导入到我的代码中但是它'不能找到模块。我按照这里的指示克隆了python-for-android。我根本没有按照那个页面安装ndk或sdk,因为kivy已经使用过它们已经安装好了。有人可以指出我正确的方向吗?
答案 0 :(得分:4)
是的,您可以从桌面上在Kivy中编写此应用程序,您只是无法在桌面上进行测试。您必须构建并部署到Android设备以进行每次测试。
改编自How to turn on camera flash light programmatically in Android?:
检查闪光灯功能是否可用:
PythonActivity = autoclass('org.renpy.android.PythonActivity')
PackageManager = autoclass('android.content.pm.PackageManager')
pm = PythonActivity.mActivity.getPackageManager()
flash_available = pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)
要使用手电筒,您的应用需要FLASHLIGHT和CAMERA权限。您可以将这些添加到buildozer.spec或python-for-android命令行。
最后,打开闪光灯:
Camera = autoclass('android.hardware.Camera')
CameraParameters = autoclass('android.hardware.Camera$Parameters')
cam = Camera.open()
params = cam.getParameters()
params.setFlashMode(CameraParameters.FLASH_MODE_TORCH)
cam.setParameters(params)
cam.startPreview()
关闭:
cam.stopPreview()
cam.release()