我不知道如何使用 python 或 kivy 访问 android 上的 led 灯,我尝试安装 python-for-android 以便能够将 android 模块导入到我的代码中,但模块不能'找不到。我按照此处的说明克隆了 python-for-android。我没有按照该页面安装 ndk 或 sdk,因为我认为因为 kivy 已经使用了它们,所以它们已经安装了。有人可以指出我正确的方向吗?
最佳答案
是的,您可以从桌面上用 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)
要使用手电筒,您的应用需要手电筒和相机权限。您可以将它们添加到 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()
关于android - 使用kivy/python访问android手电筒(相机LED闪光灯),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28111643/