我有一个视频流活动。在此活动中,有一个快照按钮,用于在手机存储器上保存当前帧的jpg。
我需要WRITE_EXTERNAL_STORAGE
权限才能执行此操作,因此我从SDK 23实现了运行时权限请求。
问题是,每次请求权限时,活动都会暂停。当对话框显示时这很好,这是有道理的,因为对话框现在处于前焦点,但是当您选中“从不再询问”框时,每次用户按下此“快照”按钮时,活动将暂停并且又恢复了。
对于常规活动,这不是问题,但对于我的视频流活动,我必须停止onPause()
中的流,然后在onResume()
中重新启动它,这样就会导致视频重新加载因此有明显的停顿。
有没有办法防止这种情况发生?这甚至是预期的行为吗?
答案 0 :(得分:-3)
理想情况下,只应该问一次权限。
在要求许可之前添加以下代码。
int permissionCheck = ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.WRITE_EXTERNAL_STORAGE);
if(permissionCheck) {
// Permission has already been granted.
} else {
//Request for permission again.
}
完成此操作:https://developer.android.com/training/permissions/requesting.html#perm-check