我正在开发一款可以播放视频的BlackBerry应用。第一次视频开始播放(工作正常)时,它会询问一个对话框,
“应用程序xyz正在尝试重置安全计时器。”
复选框:
不要再问了
选项 允许/拒绝
如果选择了允许并选中了复选框,则视频下次播放时没有问题。但这是在视频播放之前删除此安全计时器问题的方法吗?
答案 0 :(得分:3)
您看到的对话框是操作系统,提示用户将应用程序的权限授予受限制的API调用。即使您没有直接在代码中重置安全计时器,也可以代表您作为应用程序的一部分来完成。处理此问题的最佳方法是在用户首次运行您的应用时提示用户获得权限。
以下是提示用户输入所有权限的示例方法。您应该在应用程序第一次运行时调用它。通过调用permRequest.addPermission(int权限)仅为您需要的权限,可以在您提示的内容中进行更多选择。例如,传递ApplicationPermissions.PERMISSION_IDLE_TIMER。
private static void assertHasPermissions()
{
// Capture the current state of permissions and check against the
// requirements.
ApplicationPermissionsManager apm = ApplicationPermissionsManager.getInstance();
ApplicationPermissions original = apm.getApplicationPermissions();
ApplicationPermissions permRequest = new ApplicationPermissions();
int[] permissions = original.getPermissionKeys();
for ( int i = 0; i < permissions.length; i++ )
{
permRequest.addPermission( i );
}
apm.invokePermissionsRequest( permRequest );
}
答案 1 :(得分:0)
这只是猜测...
当您开始播放视频时,操作系统会假定请求重置安全计时器,以便在视频播放时设备不会锁定。如果您让我们知道您运行的设备软件版本以及您正在编程的API版本,可能更容易确定。