可以从本机代码 (C/C++) 请求相机权限吗?

Can Camera Permission be requested from from Native Code(C/C++)?

我正在尝试使用 NDK 编写一个 Android 本机程序,该程序将从本机代码访问相机。但是要访问相机,即使是本机代码,我也需要许可。我找到了 google 提供的示例,用于从本机代码访问相机,但它通过调用 activity [ref]. Is there any way to check for the permission form the native code only, without extending the NativeActivity[ref] 中编写的 Java 方法来检查权限?可能甚至根本无法访问 Dalvik VM(我相信这会给我带来更好的性能)

有一个简单的方法可以检查权限是否被授予:尝试打开相机设备,或者失败,或者成功。

要请求权限,您必须明确使用框架 API。 requestPermissions() 或她的替代方案没有 C API(这是回答 “可能甚至无法访问 Dalvik VM”)。

请注意,您可以避免权限请求:您可以指示您的用户在您的应用程序的系统设置中授予权限(不,我不赞成这种方法,但如果您有一些特殊原因 扩展 NativeActivity 并且在您的 APK 中没有 Java 代码,您仍然可以。