【发布时间】:2017-08-02 06:57:05
【问题描述】:
我有一个在 Android 上运行的 Unity 应用。当应用程序置于后台时,它也会继续运行。它不使用服务在后台运行。相反,这个应用程序会创建一个新线程,并且当应用程序在后台时,这个线程会继续运行。
最近,我不得不将另一个应用程序中的一些代码合并到这个应用程序中。这个另一个应用有一个我合并到第一个应用中的活动。
来自不同应用的 Activity 具有不同的名称。在我在后台运行的 Unity 应用程序中,它的活动是“com.unity3d.player.UnityPlayerNativeActivity” 我要合并的活动是“com.indotraq.android.rtls.MainActivity”,它扩展了 UnityPlayerActivity
通过实验,如果我的活动不是“com.unity3d.player.UnityPlayerNativeActivity”,我在后台运行的线程将不再执行。
那么,有没有人知道为什么我的后台线程将不再执行以及我可以做些什么来让它再次执行?
我知道的另一个选项是编写一个服务,允许我的程序在后台处理信息。这种方法的缺点是我必须将一堆代码从 C# 重写为 Java。而且其中一些代码不仅仅是一个简单的移植。我想我必须重写一些 Unity 低级网络代码才能使用套接字。
那么关于如何进行的任何建议?让我的线程再次在后台运行会很棒,这样我就不必将一堆 C# 代码重写为 Java。
提前致谢 约翰·劳里
【问题讨论】: