Код: Выделить всё
def scanned_qr(self, instance, symbols):
# Decoding Scanned BarCodes
if symbols:
# Assume only one symbol is scanned at a time
symbol = symbols[0]
decoded_symbol = symbol.data.decode('utf-8')
print(decoded_symbol)
# Displaying symbol in TextField
display_text = self.root.get_screen('newevent').ids.rn_data
display_text.text = decoded_symbol
screen_manager.current = 'newevent'
Clock.schedule_once(lambda dt: self.stop_zbarcam(), 2)
def stop_zbarcam(self):
zbarcam = self.root.get_screen('qrscan').ids.zbarcam
if zbarcam is not None:
zbarcam.stop()
# Release camera device
camera = zbarcam.ids.xcamera
if camera._camera:
camera._camera = None
Код: Выделить всё
MDScreen:
name:'qrscan'
MDBoxLayout:
orientation: 'vertical'
ZBarCam:
id: zbarcam
on_symbols:
app.scanned_qr(*args)
Код: Выделить всё
04-24 13:58:27.844 3948 3987 I CameraManagerGlobal: Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client org.test.myapp API Level 1
04-24 13:58:27.845 1426 1445 I CameraManagerGlobal: камера 0, обращенная к CAMERA_FACING_BACK, сейчас находится в состоянии CAMERA_STATE_ACTIVE для клиента org.test.myapp API уровня 1
04-24 13:58: 27.845 3597 3627 I CameraManagerGlobal: камера 0 обращена к состоянию CAMERA_FACING_BACK сейчас CAMERA_STATE_ACTIVE для клиента org.test.myapp API уровня 1
04-24 13:58:42.523 756 9236 I CameraService: updateProxyDeviceState: notifyCameraState для идентификатора камеры 0, newState 2, обращено к 0, clientName org.test.myapp, apiLevel 1
04-24 13:58:42.524 1426 1443 I CameraManagerGlobal: камера 0 обращена к состоянию CAMERA_FACING_BACK сейчас CAMERA_STATE_IDLE для клиента org.test.myapp API уровня 1
04-24 13:58:42.524 2809 4100 I CameraManagerGlobal: камера 0 обращена к состоянию CAMERA_FACING_BACK сейчас CAMERA_STATE_IDLE для клиента org.test.myapp API Уровень 1
04-24 13:58:42.524 3948 4026 I CameraManagerGlobal: камера 0, обращенная к CAMERA_FACING_BACK, сейчас находится в состоянии CAMERA_STATE_IDLE для клиента org.test.myapp API уровня 1
04-24 13:58:42.524 3597 3627 I CameraManagerGlobal: камера 0, обращенная к CAMERA_FACING_BACK, теперь находится в состоянии CAMERA_STATE_IDLE для клиента org.test.myapp API уровня 1
04-24 13: 58:42.542 8746 9194 Я python: Файл "/home/jmcjaythan/Desktop/app/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/kivy/app. py", строка 956, выполняется
04-24 13:58:42.543 8746 9194 I python: Файл "/home/jmcjaythan/Desktop/app/.buildozer/android/platform/ build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/kivy/base.py", строка 574, в runTouchApp
24-04 13:58: 42.544 8746 9194 Я python: Файл "/home/jmcjaythan/Desktop/app/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/kivy/base.py" , строка 339, в основном цикле
04-24 13:58:42.545 8746 9194 I python: File "/home/jmcjaythan/Desktop/app/.buildozer/android/platform/build- Arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/kivy/base.py", строка 379, в режиме ожидания
04-24 13:58:42.545 8746 9194 Я Python: файл "/home/jmcjaythan/Desktop/app/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/kivy/lock.py", строка 733, в галочке
04-24 13:58:42.546 8746 9194 Я python: Файл "/home/jmcjaythan/Desktop/app/.buildozer/android/platform/build-arm64- v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/kivy/lock.py", строка 776, в post_idle
04-24 13:58:42.550 8746 9194 I python: Файл «/home/jmcjaythan/Desktop/app/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/kivy/core/camera/camera_android.py» , строка 159, в _update
04-24 13:58:42.551 8746 9194 I python: Файл "/home/jmcjaythan/Desktop/app/.buildozer/android/platform/build- Arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/kivy/core/camera/camera_android.py", строка 166, в _copy_to_gpu
24-04 13: 58:42.560 8746 9194 Я python: Файл "/home/jmcjaythan/Desktop/app/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/kivy/lang/ builder.py", строка 60, в custom_callback
04-24 13:58:42.561 8746 9194 Я python: Файл "/data/data/org.test.myapp/files/app /qrscan.kv", строка 10, в
04-24 13:58:43.208 972 1218 W InputDispatcher: канал '51937f3 org.test.myapp/org.kivy.android.PythonActivity (сервер)' ~ Потребитель закрыл входной канал или произошла ошибка. event=0x9, fd=466
04-24 13:58:43.208 972 1218 E InputDispatcher: канал '51937f3 org.test.myapp/org.kivy.android.PythonActivity (сервер) ' ~ Канал безвозвратно сломан и будет удален!
Я попытался удалить это и снова скомпилировал в apk
Код: Выделить всё
if zbarcam is not None:
zbarcam.stop()
однако, когда я снова добавил zbarcam .stop() приложение аварийно завершает работу. Кстати, я использую менеджеры экрана. Я использую kivy 2.3.0 и kivymd 1.1.1
Подробнее здесь: https://stackoverflow.com/questions/783 ... 0x9-fd-466
Мобильная версия