gpt4 book ai didi

java - Unity3D如何为Android插件添加权限到AndroidManifest.xml

转载 作者:行者123 更新时间:2023-12-05 00:19:36 37 4
gpt4 key购买 nike

因此,我正在开发一个适用于 Android 的 Unity 插件,但我发现了一个似乎记录不充分的问题。我需要将 INTERNET、CHANGE_WIFI_STATE、ACCESS_WIFI_STATE、CHANGE_NETWORK_STATE 和 ACCESS_NETWORK_STATE 权限添加到我的项目中。
我将它们添加到我的 android 插件包中的 AndroidManifest.xml 文件中,但我收到一条错误消息,提示我需要权限。我相信我需要在 Unity 构建中将权限添加到不同的 AndroidManifest.xml。我不确定如何让 Unity 添加它们。 (我可以通过构建中的播放器设置添加互联网权限)
Unity Manual 说这样做的唯一方法是手动编辑 Manifest 文件,但这似乎是一种不好的方法;我不希望每个使用该插件的人都必须手动编辑他们的文件。另外,我有一个自定义的第三方 Assets 导入到这个项目中,并查看 Unity 的 AndroidManifest 文件,我看到该 Assets 能够将其权限添加到 list 文件,而无需我做任何事情,所以我知道我想要什么做是可能的。
另外,我相信我的所有权限都不被认为是危险的,所以我不必手动向用户询问权限,但如果我这样做了,我不确定我会如何询问。
以下是我的项目可能有用的一些代码:
我的插件包中的 AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.unitywifidirectlibrary" >

<uses-permission android:name="ANDROID.PERMISSION.INTERNET"/>
<uses-permission android:name="ANDROID.PERMISSION.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="ANDROID.PERMISSION.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="ANDROID.PERMISSION.ACCESS_WIFI_STATE"/>
<uses-permission android:name="ANDROID.PERMISSION.CHANGE_WIFI_STATE"/>


</manifest>
当我尝试检查是否启用 WiFi 作为测试时出现的错误: java.lang.SecurityException WifiP2pService: Neither user 10194 nor current process has android.permission.ACCESS_WIFI_STATE.导致错误的函数:
public static string DisplayWifiStatus()
{
if (!isSetup)
setup();
string result = "function was not called";
if (Application.platform == RuntimePlatform.Android)
{
try
{
result = WDAndroid.Call<string>("displayWifiStatus");
}
catch (Exception e)
{
result = e.Message;
}
}
else
{
print("(DisplayWifiStatus) This function is not supported on this platform");
}
return result;
}

有没有人有这个问题的经验?对我可以尝试的事情有什么想法吗?谢谢!

最佳答案

弄清楚了。您可以将 AndroidManifest.xml 添加到 assets -> plugins -> android,它将与 unity 合并。这对于插件来说有点不方便,没有很好的方法将它包含在 jar 文件中或使用 C# 包装器,特别是如果您有多个需要为文件做出贡献的 android 插件,但它为我完成了工作。

关于java - Unity3D如何为Android插件添加权限到AndroidManifest.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62547158/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com