kivy / plyer

Plyer is a platform-independent Python wrapper for platform-dependent APIs
https://plyer.readthedocs.io
MIT License
1.62k stars 427 forks source link

Android 8.0 Oreo - Kivy notify example app - No useable implementation found #604

Closed caffeinatedMike closed 1 year ago

caffeinatedMike commented 3 years ago

I'm trying to run the notification example kivy app on my Android 8.0 Galaxy S7 Edge (Pydroid3), but keep getting the error saying no implementation found. Below is the full traceback.

[INFO   ] [Logger      ] Record log in /storage/emulated/0/downloads/notification test/.kivy/logs/kivy_21-02-13_2.txt
[INFO   ] [Kivy        ] v1.11.1
[INFO   ] [Kivy        ] Installed at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.8.3 (default, May 27 2020, 02:08:17) 
[GCC 9.3.0]
[INFO   ] [Python      ] Interpreter at "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3"
[INFO   ] [Factory     ] 184 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
[INFO   ] [GL          ] Backend used <sdl2>
[INFO   ] [GL          ] OpenGL version <b'OpenGL ES 3.2 V@269.0 (GIT@1b7798b, I8a9bdcf8d3) (Date:03/15/18)'>
[INFO   ] [GL          ] OpenGL vendor <b'Qualcomm'>
[INFO   ] [GL          ] OpenGL renderer <b'Adreno (TM) 530'>
[INFO   ] [GL          ] OpenGL parsed version: 3, 2
[INFO   ] [GL          ] Texture max size <16384>
[INFO   ] [GL          ] Texture max units <16>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [GL          ] NPOT texture support is available
[WARNING] [Base        ] Unknown <android> provider
[INFO   ] [Base        ] Start application main loop
 Traceback (most recent call last):
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/plyer/utils.py", line 93, in _ensure_obj
     mod = __import__(module, fromlist='.')
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/plyer/platforms/android/notification.py", line 29, in <module>
     Drawable = autoclass("{}.R$drawable".format(activity.getPackageName()))
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/jnius/reflect.py", line 208, in autoclass
     c = find_javaclass(clsname)
   File "jnius/jnius_export_func.pxi", line 28, in jnius.jnius.find_javaclass
 jnius.jnius.JavaException: Class not found b'ru/iiec/pydroid3/R$drawable'
[INFO   ] [Base        ] Leaving application in progress...
 Traceback (most recent call last):
   File "/storage/emulated/0/downloads/notification test/main.py", line 44, in <module>
     NotificationDemoApp().run()
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/kivy/app.py", line 855, in run
     runTouchApp()
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/kivy/base.py", line 504, in runTouchApp
     EventLoop.window.mainloop()
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/kivy/core/window/window_sdl2.py", line 747, in mainloop
     self._mainloop()
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/kivy/core/window/window_sdl2.py", line 479, in _mainloop
     EventLoop.idle()
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/kivy/base.py", line 342, in idle
     self.dispatch_input()
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/kivy/base.py", line 327, in dispatch_input
     post_dispatch_input(*pop(0))
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/kivy/base.py", line 293, in post_dispatch_input
     wid.dispatch('on_touch_up', me)
   File "kivy/_event.pyx", line 707, in kivy._event.EventDispatcher.dispatch
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/kivy/uix/behaviors/button.py", line 179, in on_touch_up
     self.dispatch('on_release')
   File "kivy/_event.pyx", line 703, in kivy._event.EventDispatcher.dispatch
   File "kivy/_event.pyx", line 1214, in kivy._event.EventObservers.dispatch
   File "kivy/_event.pyx", line 1098, in kivy._event.EventObservers._dispatch
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/kivy/lang/builder.py", line 64, in custom_callback
     exec(__kvlang__.co_value, idmap)
   File "/storage/emulated/0/downloads/notification test/notificationdemo.kv", line 27, in <module>
     on_release: root.do_notify(mode='normal')
   File "/storage/emulated/0/downloads/notification test/main.py", line 32, in do_notify
     notification.notify(**kwargs)
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/plyer/facades/notification.py", line 79, in notify
     self._notify(
   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/plyer/facades/notification.py", line 88, in _notify
     raise NotImplementedError("No usable implementation found!")
 NotImplementedError: No usable implementation found!
rdb commented 2 years ago

I believe this may have been addressed by #669, since plyer no longer relies on a hardcoded icon resource name, so the exception in question should no longer occur.

Julian-O commented 1 year ago

Closing as fixed.

If the problem persists, please let us know.