Blackberry 权限问题 - "Prompt"在不同设备上的行为不同

标签 blackberry permissions code-signing prompt

我有几个关于权限和提示的问题。最重要的是,这与建立数据连接和使用 GPS 有关
问题
1. 提示和允许 - 删除通知?:在各种设备上安装我的应用程序(已签名)时,有些设备会提示用户建立数据连接,有些则不会(刚刚建立连接)。我检查了权限,并且在两个设备上都将数据连接设置为提示。为什么一台设备只需建立连接而另一台设备需要提示?注意:两个设备都在同一个运营商(版本)上,并且不受 BES 限制。
2. 最近构建的权限对话框:在最近的构建中,用户被提示允许数据请求。在以前的版本中,这个提示从未发生过(即使两个版本都建立了可能需要提示的数据连接)。对于我的生活,我无法说出我可能有哪些变化导致了现在发生的浮华。有什么我应该在构建/项目/文件中检查以便这些提示不再出现的吗?
3. 设置安装权限?:有没有办法在安装应用程序时强制执行权限(比如允许)?我知道我可以执行 invokePermissionsRequest 但这会在运行应用程序时发生。理想情况下,我希望在没有用户参与或安装过程中获得权限。
一些需要注意的事实:

  • 为 4.2.1 及更高版本开发
  • 应用已签名
  • 应用程序利用数据连接和 GPS
  • 最佳答案

    关于您的问题 #1 和 #2... 行为可能会有所不同,具体取决于设备使用的操作系统。在 OS 4.7 发布时,许多权限被修改/重命名/创建。例如,这是我为 OS 4.5 请求的权限:

    ApplicationPermissions.PERMISSION_FILE_API
    ApplicationPermissions.PERMISSION_INTER_PROCESS_COMMUNUCATION
    ApplicationPermissions.PERMISSION_CHANGE_DEVICE_SETTINGS
    ApplicationPermissions.PERMISSION_EXTERNAL_CONNECTIONS
    ApplicationPermissions.PERMISSION_INTERNAL_CONNECTIONS
    ApplicationPermissions.PERMISSION_WIFI
    ApplicationPermissions.PERMISSION_EMAIL
    ApplicationPermissions.PERMISSION_HANDHELD_KEYSTORE
    

    这是我为 OS 4.7 请求的权限:
    ApplicationPermissions.PERMISSION_FILE_API
    ApplicationPermissions.PERMISSION_CROSS_APPLICATION_COMMUNICATION
    ApplicationPermissions.PERMISSION_DEVICE_SETTINGS
    ApplicationPermissions.PERMISSION_INTERNET
    ApplicationPermissions.PERMISSION_SERVER_NETWORK
    ApplicationPermissions.PERMISSION_WIFI
    ApplicationPermissions.PERMISSION_EMAIL
    ApplicationPermissions.PERMISSION_SECURITY_DATA,     
    

    您可以看到许多权限已重命名。您可能需要更新代码以了解操作系统并请求特定权限。

    对于问题 #3,无法在安装时执行任何类型的代码。您能做的最好的事情是让您的应用程序“在启动时自动运行”,然后执行检查。然而,这可能是一个更糟糕的解决方案,因为用户可能会因在启动时获得权限请求对话框而感到困惑。

    最好的解决方案是确保每次启动应用程序时都拥有足够的权限。如果没有,请请求所有必要的权限并尽可能优雅地处理所有事情。如果您成功执行此操作,您的用户只需在您的应用程序第一次启动时处理权限(只要他们以后不会自己搞乱它们)。

    关于Blackberry 权限问题 - "Prompt"在不同设备上的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1070669/

    相关文章:

    php - 强制 PHP CLI 将文件写入 www-data

    android - 如何升级用于在 Google Play 商店上签名 Android 应用程序的私钥?

    blackberry - 如何在黑莓的 labelField 中水平滚动

    java - 如何在黑莓应用程序上直接播放视频?

    linux - 设置ACL权限后用户无法访问文件夹

    macos - 为 OSX 10.9 签署框架

    xcode - 为什么我在 Yosemite 上的 Xcode 6 中收到错误 "Command/usr/bin/codesign failed with exit code 1"?

    javascript - 在黑莓中的字段中显示 HTML 内容

    java - 如何在 Blackberry 中安排特定线程

    permissions - Windows 2008 Server 上的默认 MSMQ 专用队列权限是什么