На самом деле это не большая проблема. У меня есть приложение для Android, которое хранит пароли пользователей в базе данных SQLite. Итак, на прошлой неделе я запустил обновление, которое позволяет пользователю экспортировать эти пароли на свой Google Диск. Для этого я использовал Google Drive Android API . Я не добавлял никаких специальных разрешений в манифест приложения (AndroidManifest.xml), и он отлично работает (проверено на KitKat4.4). Но один из моих друзей сказал мне, что это может не работать на Android 6.0+, потому что я всегда должен запрашивать разрешения. Но я проверил несколько образцов, и ни у одного из них не было разрешений на манифест. Как вы думаете, нужно ли добавлять разрешения? Возможно ИНТЕРНЕТ или GET_ACCOUNTS?

4
Rosário Pereira Fernandes 7 Май 2016 в 11:36

3 ответа

Лучший ответ

Если вы используете Google Drive Android API, вам не нужен INTERNET или GET_ACCOUNTS разрешения.

API автоматически обрабатывает ранее сложные задачи, такие как автономный доступ и синхронизация файлов. Это позволяет вам читать и записывать файлы, как если бы Диск был локальной файловой системой.

Ознакомьтесь с официальным Quickstart и demos на GitHub. Ни у одного из них нет специальных разрешений в AndroidManifest.xml.

НО , если вы используете REST API Google Диска для Android вам обязательно понадобится разрешение INTERNET.

4
er-mo 17 Май 2016 в 19:10

Если вы следуете руководствам по Drive API на Android, вы увидите на шаге 4. Подготовьте проект, в котором вам нужно добавить разрешения, указанные ниже в коде.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />

Используется разрешение "android.permission.INTERNET" если вы хотите, чтобы ваше приложение подключалось / выполняло сетевые операции.

Для "android.permission.GET_ACCOUNTS" это указано в этой документации. что:

Примечание. Начиная с Android 6.0 (уровень API 23), если приложение использует подпись аутентификатора, который управляет учетной записью, он не требуется разрешение "GET_ACCOUNTS" на чтение информации об этом аккаунте. На Android 5.1 и ниже всем приложениям требуется разрешение "GET_ACCOUNTS" для прочитать информацию о любом аккаунте.

Для получения дополнительной информации о различных значениях / использовании разрешения Android посетите эту страницу .

0
abielita 10 Май 2016 в 04:27

Согласно документации по API Карт Google, {{X0} } и ACCESS_NETWORK_STATE будут автоматически объединены с манифестом проекта, то есть вам не нужно указывать их самостоятельно, пока вы вызываете API через сервисы Google Play.
Однако не удалось найти такое же описание для Google Drive API.

0
Vineeth Sai 15 Янв 2019 в 06:35