При использовании getPersistedUriPermissions()
, предполагая, что он уже содержит некоторые UriPermission
, как узнать, являются ли они правильными разрешениями для того, что вы пытаетесь сделать?
Например, если вы получаете права на запись на SD-карту (или область SD-карты), а пользователь заменяет SD-карту на другую, эти разрешения больше не действительны. Как вы можете проверить, являются ли разрешения в списке, возвращенном функцией, пригодными для использования или нет (что требует от вас повторного запроса разрешения)?
Раньше я просто проверял, есть ли у меня хотя бы одно разрешение, но это больше не работает, когда они используют несколько SD-карт и т. Д. Однако я не вижу способа определить, является ли UriPermission
в списке тем, что мне нужно. Пример один:
UriPermission {uri=content://com.android.externalstorage.documents/tree/abcdef, modeFlags=3, persistedTime=abcdef}