如何给黑莓应用程序授予所有可用的权限?

4
我正在使用 JDE 4.5 进行开发,但没有包含 PERMISSION_RECORDING 权限。在 4.6 及更高版本的设备中,默认情况下将被拒绝。因此,我希望我的应用程序具有此权限或可能获得的所有权限。谢谢提前。
1个回答

5

你无法通过编写程序来设置应用程序权限。你可以做的是强制显示请求权限对话框,请参见How to - Display custom messages in the request permission dialog

因此,你可以在应用程序启动时进行一些测试录制,然后请求权限对话框会出现。它无论如何都会出现,但在启动时更为适合,并且你可以在那里设置自己的消息文本。

更新
如果权限被设置为拒绝,则不会出现提示对话框。
然后你可以使用ApplicationPermissionManager来调用权限请求:

ApplicationPermissionsManager manager = ApplicationPermissionsManager
    .getInstance();
int current = manager
    .getPermission(ApplicationPermissions.PERMISSION_SCREEN_CAPTURE);
if (current != ApplicationPermissions.VALUE_ALLOW) {
    ApplicationPermissions permissions = new ApplicationPermissions();
    permissions.addPermission(ApplicationPermissions.PERMISSION_SCREEN_CAPTURE);
    manager.invokePermissionsRequest(permissions);
}

默认情况下录音权限被拒绝,因此在使用录音API时不会出现提示。 - Ali El-sayed Ali
感谢您的更新,但问题是代表录音(PERMISSION_RECORDING)的常量在JDE 4.5中不存在。当我查看JDE 4.6文档时,我发现PERMISSION_SCREEN_CAPTURE已被弃用。从4.6开始,被PERMISSION_RECORDING取代。因此,在JDE 4.5中,表示录音的权限是PERMISSION_SCREEN_CAPTURE,所以我使用它来允许录制声音,并且它可以正常工作。 - Ali El-sayed Ali
你节省了我很多时间,非常感谢。我的应用程序扫描QR码时,在第一次运行应用程序时经历设备锁定,而我不知道ApplicationPermissionsManager的存在。 - bob

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