Uno-Platform在安卓开发中的权限问题

3

我是Uno-Plaform开发领域的新手,想要创建自己的语音识别功能。

我的语音识别设置可以与Cortana和UWP一起使用,但是在Android手机上的设置遇到了一些问题。

我已经将以下代码添加到了我的Android清单文件中:

AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />

使用这些代码,我理论上应该能够记录来自我的手机的音频。
但是在我的安卓设备上运行后,我得到了这个异常信息:"System.Exception: 'Error during speech recognition: InsufficientPermissions'。
经过调查,我发现这与"危险权限"有关,而这正是导致我的问题的原因。经过多个小时的研究和测试,我还没有找到打开权限提示框以允许使用麦克风的方法。
请问有人能够解释或帮助我解决这个问题吗?
提前感谢!
1个回答

2

由于这是一个普遍的需求,Uno实际上提供了一些扩展,以便在Android上轻松请求权限。

此代码仅适用于Android。

#if __ANDROID__

// This will only check if the permission is granted but will not prompt the user.
bool isGranted = await Windows.Extensions.PermissionsHelper.CheckPermission(ct, Android.Manifest.Permission.RecordAudio);

// This will prompt the user with the native permission dialog if needed. If already granted it will simply return true.
bool isPermissionGranted = await Windows.Extensions.PermissionsHelper.TryGetPermission(ct, Android.Manifest.Permission.RecordAudio);

#endif

这个扩展的源代码可以在这里找到。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接