【发布时间】:2012-04-21 14:20:42
【问题描述】:
我知道这似乎是一个微不足道的问题,但我在互联网上的任何地方都找不到任何具体的答案。我在 stackoverflow 上看到了这个非常相似的问题:How to start Unity application from android activity? 但这与我的问题完全相反。此外,android Activity 必须能够接收来自 Unity 应用程序的一些输入字符串,就像使用带有行参数的 system() 调用在 PC 上启动另一个程序一样。
以下是我在 Android 上的测试 Unity 应用的测试按钮事件处理程序的代码:
private void ExternalAppCallHandler()
{
if(Application.platform == RuntimePlatform.WindowsEditor)
{
Process.Start(@"C:\Program Files (x86)\Notepad++\notepad++.exe");
}
else if(Application.platform == RuntimePlatform.Android)
{
Process.Start("Internet");
}
}
当我使用 Unity Editor 进行测试时,当我点击测试按钮时,应用程序成功打开 Notepad++.exe。但是,当我尝试在三星 Galaxy S2 设备上打开“互联网”应用程序时,它失败了。有谁知道为什么会这样?使用 Process.Start 打开另一个 Android 应用程序的正确字符串应该是什么?
【问题讨论】:
-
我很难过没有人能帮我解决这个问题......
-
我找到了两种方法来做到这一点:1。扩展 UnityPlayerActivity 或 2. 创建一个启动另一个活动的 Android Native 插件。我已经多次尝试方法 1,但它总是以强制关闭的情况结束。希望方法 2 对我有用。
-
我有同样的问题。我们是否可以在统一内调用另一个移动设备中的 android 应用程序?例如录音机,录像机,......我想在我的统一应用程序中调用录音机并记录用户的声音。这可能吗?
标签: c# android mono unity3d interprocess