AlarmManager.setExactAndAllowWhileIdle (& hellip;) проигрывает дополнительно в Android O [дубликат]

Обычный способ сделать это примерно так:

test1.py

def some_func():
    print 'in test 1, unproductive'

if __name__ == '__main__':
    # test1.py executed as script
    # do something
    some_func()

service.py

import test1

def service_func():
    print 'service func'

if __name__ == '__main__':
    # service.py executed as script
    # do something
    service_func()
    test1.some_func()
2
задан Matthew Mitchell 13 December 2016 в 23:33
поделиться

1 ответ

Параметр тревоги является условным.

Нельзя помещать пользовательский Parcelable в Intent, который доставляется другому процессу . Это особенно верно с AlarmManager на Android 7.0.

Вам нужно заменить это Parcelable на что-то еще, например byte[], где вы вручную конвертируете ваш Parcelable в / из этого byte[] .

6
ответ дан Community 19 August 2018 в 01:23
поделиться
  • 1
    Спасибо, что привлек это к моему вниманию. Я буду исследовать. – Matthew Mitchell 13 December 2016 в 23:53
  • 2
    Я просто проверил это, и вы действительно были правы! Преобразование в байт [] работает. Большое спасибо. – Matthew Mitchell 14 December 2016 в 00:10
  • 3
    При использовании онлайн-конвертируемых конвертеров больше не будет работать, если и до тех пор, пока они не преобразут пакет в байт []. – Lalith B 14 December 2016 в 00:17
  • 4
    Я заметил, что Serializables тоже не работает. – Matthew Mitchell 14 December 2016 в 00:26
  • 5
    @androiddeveloper: причиной сбоя является то, что другой процесс пытается работать с дополнительными функциями в Intent, а один из них - из пользовательского класса Parcelable, которого нет в другом процессе. Parcelable, которые находятся в zygote (т. е. классы в структуре, а не из библиотеки), являются безопасными, так как все процессы Android SDK имеют одинаковые определения этих классов. Примитивные данные также безопасны. Однако, по тем же причинам Serializable будет иметь ту же проблему, что и Parcelable. – CommonsWare 11 April 2017 в 11:32
Другие вопросы по тегам:

Похожие вопросы: