У меня есть простой код, который показывает уведомление с использованием плита. < /p>
from kivy.app import App
from kivy.lang import Builder
from kivy.utils import platform
from plyer import notification
from kivy.uix.boxlayout import BoxLayout
from kivy.clock import Clock
from kivy.properties import DictProperty
from kivy.uix.label import Label
Builder.load_string("""
:
BoxLayout:
Label:
id: notification_text
text: 'Hi user'
font_size:50
""")
a=0
class NotificationDemo(BoxLayout):
kwargs = DictProperty()
def update(self,dt):
global a
try:
a = a + 1
sms = str(a)
self.ids.notification_text.text = sms
notification.notify(title='hello' , message=sms)
except Exception as error:
self.ids.notification_text.text = str(error)
class ServiceApp(App):
def build(self):
fdir = NotificationDemo()
Clock.schedule_interval(fdir.update, 6)
return fdir
def on_pause(self):
return True
if __name__ == '__main__':
ServiceApp().run()
< /code>
Этот код работает правильно в Windows и низких андроидах. Но когда я запускаю этот код на Android 13, я получаю следующую ошибку. < /P>
Исключение JVM произошло: org.test.notify: нацеливание S + (версия 31 и Выше) требует, чтобы один из Flag_Immutable или Flag Mintable был указан при создании PendingIntent. Сильно рассмотрите возможность использования Flag_Immutable, используйте FLAG_MUTABLE, только если некоторые функциональные возможности зависит от того, что пенсингование является изменчивым, например, Если это нужно использовать с встроенными ответами или пузырями. java.lang.illegalargumentException < /p>
< /blockquote>
Я видел подобные вопросы здесь и здесь, но у них нет ответов.
Должен ли я использовать сервис? Или я должен что -то сделать в Buildozer.spec?
Я действительно ценю любую помощь, которую вы можете оказать. < /P>
Подробнее здесь: https://stackoverflow.com/questions/755 ... or-android