У меня есть приложение Unity, работающее на Android. Он также продолжает работать, когда приложение переведено в фоновый режим. Он не использует службу для работы в фоновом режиме. Вместо этого это приложение создает новый поток, и этот поток продолжает работать, пока приложение находится в фоновом режиме.
Недавно мне пришлось объединить код из другого приложение в это приложение. В этом другом приложении есть действие, которое я объединил с первым приложением.
Действия из другого приложения имеют разные названия. В моем приложении Unity, которое работает в фоновом режиме, его активность — «com.unity3d.player.UnityPlayerNativeActivity». Я объединяюсь с активностью «com.indotraq.android.rtls.MainActivity», которая расширяет UnityPlayerActivity
Благодаря экспериментам выяснилось, что если моя активность не является «com.unity3d.player.UnityPlayerNativeActivity», мой поток, работающий в фоновом режиме, больше не выполняется.
Итак, есть ли у кого-нибудь идеи, почему мой поток в фоновом режиме больше не будет выполняться и что я могу сделать, чтобы он снова запустился?
Другой вариант, который мне известен, — это написать службу, которая позволит моей программе обрабатывать информацию, когда она находится в фоновом режиме. Обратной стороной этого подхода является то, что мне придется переписывать кучу кода с C# на Java. И часть этого кода — это не просто порт. Думаю, мне придется переписать некоторый низкоуровневый сетевой код Unity для использования сокетов.
Итак, есть какие-нибудь советы, как действовать дальше? Было бы здорово, чтобы мой поток снова работал в фоновом режиме, чтобы мне не пришлось переписывать кучу кода C# на Java.
Заранее спасибо
Джон Лори
Подробнее здесь: https://stackoverflow.com/questions/454 ... background