当按下Unity中的按钮时,有人知道如何在后台启动应用程序(使用C#)吗?我到处寻找,但我只能找到Process.Start()方式来执行外部应用程序。不幸的是,焦点转向它,这是我不想要的。
提前致谢!
答案 0 :(得分:2)
您使用
Application.runInBackground = true;
使您的应用程序在后台运行。将其设置为false以使其不在后台运行。
Application.runInBackground = false;
答案 1 :(得分:0)
如果您在Unity App中按某个按钮,您将失去当前应用的焦点。
但是, 1)您可以使用PackageManager API执行其他Android应用程序。 (Unity可以使用AndroidJavaClass调用android的api)
Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
startActivity(launchIntent);
2)执行后,您可以在当前任务堆栈应用程序之间重新排序。
Intent i = new Intent(this, MyMainActivity.class);
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
所以,我认为你可以尝试一些技巧。
A可以执行B,然后B立即将其焦点重新给A(有些闪烁)
或者执行B,然后A可以在后台从B收回其聚焦。
答案 2 :(得分:0)
如果您调用process.StandardOutput.ReadToEnd()
,则可能需要切换到BeginOutputReadLine
和OutputDataReceived
,以便Unity在从您的进程读取输出时不会阻塞。
进行此更改并使用StartInfo.CreateNoWindow = true
使我可以继续关注Unity。