如何打开蓝牙

时间:2018-04-15 15:02:02

标签: c# android unity3d plugins bluetooth

我试图通过android插件在Unity项目中进行蓝牙通信,一开始我想打开蓝牙。

java代码看起来像这样

void Start () {
    textMEsh = GetComponent<TextMesh>();
    var plugin = new AndroidJavaClass("com.example.unityplugin.PluginClass");
    textMEsh.text = plugin.CallStatic<string>("testMessage");
    textMEsh.text = plugin.CallStatic<string>("TurnOnBluetooth");
}

}

在Unity中就像

一样简单
{{1}}

因此,在第一个方法&#34; testMessage&#34;之后,应用程序中显示的文本会发生变化我正在工作&#34;但没有任何反应,我不明白为什么。蓝牙未打开,我在日志中看到以下错误:

  

I / Unity:AndroidJavaException:java.lang.SecurityException:Need   BLUETOOTH ADMIN权限:用户10069和当前进程都没有   android.permission.BLUETOOTH_ADMIN。

我应该如何在Unity中正确设置该权限?

1 个答案:

答案 0 :(得分:2)

这是一个权限错误。您需要将蓝牙权限添加到Unity。

1 。转到<UnityInstallationDirecory>\Editor\Data\PlaybackEngines\AndroidPlayer\Apk,将AndroidManifest.xml文件复制到<ProjectName>Assets\Plugins\Android

如果<ProjectName>Assets\Plugins\Android尚不存在,请创建它。 该文件夹的拼写区分大小写,必须拼写正确。

2 。从<ProjectName>Assets\Plugins\Android打开复制的清单文件并添加清单。

为其添加以下权限:

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

3 。保存AndroidManifest修改,构建并运行。

Unity现在将在最终版本中包含蓝牙权限。