2016-09-22 56 views
2

我有一个视频流的活动。在这个活动中有一个快照按钮,可以在手机存储器上保存当前帧的jpg文件。运行时权限请求暂停活动

我需要一个WRITE_EXTERNAL_STORAGE权限去做,所以我实现从SDK 23

的问题是运行许可请求,每次许可请求的活动被暂停时间。当对话框出现时这很好,因为对话框现在处于前焦点,但是当您选中“永不再问”框时,每次用户按下此“快照”按钮时,活动都会暂停并且再次恢复。

对于常规性活动,这将不会是一个问题,但我的视频流活动我有onPause()停止流,然后在onResume()再次重新启动它,这会导致对视频重装,从而出现明显的暂停。

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

回答

-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

+0

我有非常相同的代码。但是如果您第一次拒绝它,那么您可以再次询问用户。然后用户可以选择不再被询问。这是我遇到的用例。 –