Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 后台运行的Android Unity应用程序_Java_C#_Android_Unity3d - Fatal编程技术网

Java 后台运行的Android Unity应用程序

Java 后台运行的Android Unity应用程序,java,c#,android,unity3d,Java,C#,Android,Unity3d,我有一个在Android上运行的Unity应用程序。当应用程序放在后台时,它也会继续运行。它不使用服务在后台运行。相反,此应用程序创建一个新线程,当应用程序处于后台时,此线程将继续运行 最近,我不得不将另一个应用程序中的一些代码合并到这个应用程序中。另一个应用程序有一个活动,我将其合并到第一个应用程序中 来自不同应用程序的活动具有不同的名称。在我在后台运行的Unity应用程序中,它的活动是“com.unity3d.player.UnityPlayerActivity”。我正在合并的活动是“com

我有一个在Android上运行的Unity应用程序。当应用程序放在后台时,它也会继续运行。它不使用服务在后台运行。相反,此应用程序创建一个新线程,当应用程序处于后台时,此线程将继续运行

最近,我不得不将另一个应用程序中的一些代码合并到这个应用程序中。另一个应用程序有一个活动,我将其合并到第一个应用程序中

来自不同应用程序的活动具有不同的名称。在我在后台运行的Unity应用程序中,它的活动是“com.unity3d.player.UnityPlayerActivity”。我正在合并的活动是“com.indotraq.android.rtls.MainActivity”,它扩展了UnityPlayerActivity

通过实验,似乎如果我的活动不是“com.unity3d.player.unityPlayerActiveActivity”,那么在后台运行的线程将不再执行

那么,有没有人知道为什么我在后台的线程将不再执行,我可以做些什么让它再次执行

我知道的另一个选择是编写一个服务,当程序在后台时,它将允许我的程序处理信息。这种方法的缺点是,我必须将大量代码从C#重写为Java。有些代码不仅仅是一个简单的端口。我想我必须重写一些Unity底层网络代码才能使用套接字

那么,关于如何进行,有什么建议吗?让我的线程再次在后台运行会很好,这样我就不必将一堆C代码重写为Java

提前谢谢
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之间通信的教程