Java 后台运行的Android Unity应用程序
我有一个在Android上运行的Unity应用程序。当应用程序放在后台时,它也会继续运行。它不使用服务在后台运行。相反,此应用程序创建一个新线程,当应用程序处于后台时,此线程将继续运行 最近,我不得不将另一个应用程序中的一些代码合并到这个应用程序中。另一个应用程序有一个活动,我将其合并到第一个应用程序中 来自不同应用程序的活动具有不同的名称。在我在后台运行的Unity应用程序中,它的活动是“com.unity3d.player.UnityPlayerActivity”。我正在合并的活动是“com.indotraq.android.rtls.MainActivity”,它扩展了UnityPlayerActivity 通过实验,似乎如果我的活动不是“com.unity3d.player.unityPlayerActiveActivity”,那么在后台运行的线程将不再执行 那么,有没有人知道为什么我在后台的线程将不再执行,我可以做些什么让它再次执行 我知道的另一个选择是编写一个服务,当程序在后台时,它将允许我的程序处理信息。这种方法的缺点是,我必须将大量代码从C#重写为Java。有些代码不仅仅是一个简单的端口。我想我必须重写一些Unity底层网络代码才能使用套接字 那么,关于如何进行,有什么建议吗?让我的线程再次在后台运行会很好,这样我就不必将一堆C代码重写为Java 提前谢谢Java 后台运行的Android Unity应用程序,java,c#,android,unity3d,Java,C#,Android,Unity3d,我有一个在Android上运行的Unity应用程序。当应用程序放在后台时,它也会继续运行。它不使用服务在后台运行。相反,此应用程序创建一个新线程,当应用程序处于后台时,此线程将继续运行 最近,我不得不将另一个应用程序中的一些代码合并到这个应用程序中。另一个应用程序有一个活动,我将其合并到第一个应用程序中 来自不同应用程序的活动具有不同的名称。在我在后台运行的Unity应用程序中,它的活动是“com.unity3d.player.UnityPlayerActivity”。我正在合并的活动是“com
John Lawrie对于Android和IOS,RuninBackgound被忽略了,你怎么看 在Android上后台运行的唯一有效方法是通过服务。您可以使用OnApplicationPause方法在游戏暂停/取消暂停时获得通知
public void OnApplicationPause(bool paused) {
if(paused) {
// Game is paused, start service to get notifications
} else {
// Game is unpaused, stop service notifications.
}
关于android和unity之间的通信,您有一个很好的教程RuninBackgorund对于android和IOS来说是被忽略的,您可以看到什么 在Android上后台运行的唯一有效方法是通过服务。您可以使用OnApplicationPause方法在游戏暂停/取消暂停时获得通知
public void OnApplicationPause(bool paused) {
if(paused) {
// Game is paused, start service to get notifications
} else {
// Game is unpaused, stop service notifications.
}
你有一个很好的关于android和unity之间通信的教程