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