我正在使用 Unity3D 为三星 Gear VR 和三星 Galaxy S7 开发一个 Android 应用程序。
在我的应用程序中,我使用蓝牙在两个设备之间创建本地网络。当要求启用蓝牙可发现性的系统弹出窗口应该出现在我的应用程序中时,整个应用程序冻结,弹出窗口未显示,我必须重新启动手机才能再次使用它。
是否有解决方案可以在我的应用程序启动之前请求该许可?例如,在我的应用程序的启动屏幕之前询问了另一个关于访问本地文件系统的请求,但我不知道此时为什么以及如何询问此权限。
提前致谢,
我正在使用 Unity3D 为三星 Gear VR 和三星 Galaxy S7 开发一个 Android 应用程序。
在我的应用程序中,我使用蓝牙在两个设备之间创建本地网络。当要求启用蓝牙可发现性的系统弹出窗口应该出现在我的应用程序中时,整个应用程序冻结,弹出窗口未显示,我必须重新启动手机才能再次使用它。
是否有解决方案可以在我的应用程序启动之前请求该许可?例如,在我的应用程序的启动屏幕之前询问了另一个关于访问本地文件系统的请求,但我不知道此时为什么以及如何询问此权限。
提前致谢,
这是现在在 Unity 5.4.0B15 中修复的错误。
Unity 5.4.0B15 Android Marshmallow - 修复了查询自定义权限时的问题。
更新至5.4.0B15以解决此问题。
注意:
在 Android 6.0 Marshmallow 中,现在在运行时而不是安装时询问 Android 权限。你对此无能为力。
第一次请求许可时,你会得到这样的东西
第二次,玩家将有机会选择不再询问。
这样做的原因是让用户完全控制允许哪些权限以及拒绝哪些权限。例如,您可以允许 WiFi 但拒绝蓝牙,这与以前不同,您必须允许每个权限或拒绝所有权限。