2016-06-25 5 views
0

Этот пример приложения факела доступен онлайн. Он использует «Switch» для включения фонарика. Оно работает. Я пытаюсь/пытаюсь получить сообщение «сообщение» на устройстве, когда фонарик включен и выключен, и я не могу получить правильный код. Может кто подскажет. Вот код приложения работает горелка (как-то, никогда не появится текст «enlightme»):Kivy-Python-Android Torch App

from kivy.app import App 
from kivy.uix.switch import Switch 
from jnius import autoclass 

Camera = autoclass('android.hardware.Camera') 
Parameters = autoclass('android.hardware.Camera$Parameters') 


__version__ = '0.1' 


class FlashApp(App): 
    def build(self): 
     self.root = Switch(text='enlightenme') 
     self.root.bind(active=self.toggle_flash) 
     self.camera = None 
     return self.root 

    def toggle_flash(self, *args): 
     if self.camera == None: 
      self.camera = Camera.open() 

     p = self.camera.getParameters() 

     if self.root.active: 
      p.setFlashMode(Parameters.FLASH_MODE_TORCH) 
      self.camera.setParameters(p) 
      self.camera.startPreview() 
     else: 
      p.setFlashMode(Parameters.FLASH_MODE_OFF) 
      self.camera.stopPreview() 
      self.camera.setParameters(p) 
      self.camera.release() 
      self.camera = None 

if __name__ == '__main__': 
    FlashApp().run() 

ответ

1

коммутатор не имеет text собственности, а благодаря капризу аргумента Kivy в разборе вы не получите сообщение об ошибке из-за неиспользованного kwarg.

Вместо этого вы должны добавить ярлык с нужным текстом.

+0

Спасибо, что ответили. где я бы добавил ярлык? в сборке def? –

Смежные вопросы