Если я пытаюсь использовать одну и ту же область из пользовательского интерфейса и фонового сервиса, я получаю эту ошибку:
05-20 14:39:35.016 11464 11464 F DEBUG : Build fingerprint: 'google/sdk_google_phone_x86/generic_x86:7.1.1/NYC/4729347:userdebug/test-keys'
05-20 14:39:35.017 11464 11464 F DEBUG : Revision: '0'
05-20 14:39:35.017 11464 11464 F DEBUG : ABI: 'x86'
05-20 14:39:35.017 11464 11464 F DEBUG : pid: 11427, tid: 11452, name: est.aps.tracker >>> fr.test.aps.tracker <<<
05-20 14:39:35.019 11464 11464 F DEBUG : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
05-20 14:39:35.019 11464 11464 F DEBUG : eax 00000000 ebx 00002ca3 ecx 00002cbc edx 00000006
05-20 14:39:35.019 11464 11464 F DEBUG : esi 8977f978 edi 8977f920
05-20 14:39:35.019 11464 11464 F DEBUG : xcs 00000073 xds 0000007b xes 0000007b xfs 0000003b xss 0000007b
05-20 14:39:35.019 11464 11464 F DEBUG : eip ae2f1424 ebp 8977f778 esp 8977f71c flags 00200296
05-20 14:39:35.028 11464 11464 F DEBUG :
05-20 14:39:35.028 11464 11464 F DEBUG : backtrace:
05-20 14:39:35.028 11464 11464 F DEBUG : #00 pc ffffe424 [vdso:ae2f1000] (__kernel_vsyscall+16)
05-20 14:39:35.028 11464 11464 F DEBUG : #01 pc 0007a03c /system/lib/libc.so (tgkill+28)
05-20 14:39:35.028 11464 11464 F DEBUG : #02 pc 00075885 /system/lib/libc.so (pthread_kill+85)
05-20 14:39:35.028 11464 11464 F DEBUG : #03 pc 0002785a /system/lib/libc.so (raise+42)
05-20 14:39:35.028 11464 11464 F DEBUG : #04 pc 0001ee36 /system/lib/libc.so (abort+86)
05-20 14:39:35.030 11464 11464 F DEBUG : #05 pc 0046bab4 /data/app/fr.test.aps-1/lib/x86/librealm-wrappers.so (_ZN9__gnu_cxx27__verbose_terminate_handlerEv+452)
05-20 14:39:35.034 11464 11464 F DEBUG : #06 pc 00433b17 /data/app/fr.test.aps-1/lib/x86/librealm-wrappers.so (_ZN10__cxxabiv111__terminateEPFvvE+23)
05-20 14:39:35.034 11464 11464 F DEBUG : #07 pc 00433baf /data/app/fr.test.aps-1/lib/x86/librealm-wrappers.so (_ZSt9terminatev+31)
05-20 14:39:35.034 11464 11464 F DEBUG : #08 pc 0046a73d /data/app/fr.test.aps-1/lib/x86/librealm-wrappers.so (execute_native_thread_routine+141)
05-20 14:39:35.034 11464 11464 F DEBUG : #09 pc 00074fe2 /system/lib/libc.so (_ZL15__pthread_startPv+210)
05-20 14:39:35.034 11464 11464 F DEBUG : #10 pc 0002029e /system/lib/libc.so (__start_thread+30)
05-20 14:39:35.034 11464 11464 F DEBUG : #11 pc 0001e076 /system/lib/libc.so (__bionic_clone+70)
Чтобы изолировать проблему, я создал небольшое приложение , состоящее из одной страницыи гибридный сервис.На этой странице есть две кнопки для остановки / запуска счетчика.Она также отображает список пользовательских объектов (в ListView).
Сервис отображает счетчик каждые 5 секунд в окне logcat.
(для его запуска требуется несколько секунд)
Я бы хотел, чтобы сервис изменял представление списка со значением счетчика в режиме реального времени.
Но я не могу одновременно использовать одну и ту же область из своего пользовательского интерфейса и сервиса.
Другими словами,Я не могу раскомментировать одновременно две строки, упомянутые ниже:
Enable/disable usage of realm by background service:
Uncomment/comment await in StartTrack method of Tracker.cs file.
Enable/disable usage of realm by UI:
Uncomment/comment await in OnAppearing method of ServicePage.cs file.
PS:
Адаптировать Constants.cs с вашим действительным адресом ROS, именем пользователя и паролем.
РЕДАКТИРОВАТЬ: я упростил код