运行时权限请求暂停活动

时间:2016-09-22 09:53:52

标签: android android-activity video-streaming

我有一个视频流活动。在此活动中,有一个快照按钮,用于在手机存储器上保存当前帧的jpg。

我需要WRITE_EXTERNAL_STORAGE权限才能执行此操作,因此我从SDK 23实现了运行时权限请求。

问题是,每次请求权限时,活动都会暂停。当对话框显示时这很好,这是有道理的,因为对话框现在处于前焦点,但是当您选中“从不再询问”框时,每次用户按下此“快照”按钮时,活动将暂停并且又恢复了。

对于常规活动,这不是问题,但对于我的视频流活动,我必须停止onPause()中的流,然后在onResume()中重新启动它,这样就会导致视频重新加载因此有明显的停顿。

有没有办法防止这种情况发生?这甚至是预期的行为吗?

1 个答案:

答案 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