2015-09-21 4 views
2

У меня есть следующие разрешения, определенные в манифесте, но я все еще вижу Android просить приложению необходимо разрешение на запись на внешний накопитель, даже если я не хочу обращаться к внешним накопителямAndroid Manifest Право доступ External Storage

Может быть из-за Google Play услуги

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 

ответ

2

Pls попробовать Это для Google ошибки играть службы:

<uses-permission 
     android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
     android:maxSdkVersion="Version code" /> 

метаданные используются конец приложения.

+0

Я не хочу получать доступ к внешнему хранилищу, но я см. Android с просьбой об этом. –

+0

Вы не обратили достаточно внимания на вопрос, он настаивает на том, что я не имею доступа к внешнему хранилищу –

-1

Это отсутствует:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

Я не хочу получать доступ к внешнему хранилищу, но я вижу, что Android просит его. –

+0

Вы не обратили достаточного внимания на вопрос, он настаивает на том, что я не получаю доступ к внешнему хранилищу. –

1

Добавить эти разрешения

<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE"/> 
<uses-permission android:name="ANDROID.PERMISSION.WRITE_EXTERNAL_STORAGE"/> 
+0

Вы не обратили достаточного внимания на вопрос, он настаивает на том, что я не обращаюсь к внешнему хранилищу. –

2

Прошло почти год с момента публикации, но, возможно, это поможет кому-то. Если вы используете игровые сервисы версии < 8.3, тогда карты play-services-maps используют это разрешение.

Если вы не используете карты игровых сервисов, то, вероятно, вы используете play-services-fitness, который берет карты как транзитивную зависимость.

Если вы не используете ни их, то, возможно, у вас есть другая транзитивная зависимость, которая нуждается в этом разрешении.

TIP to check transitive dependencies

1

Это может быть из-под двум причинам.

  1. If you're targeting version 8.3 or later of the Google Play services SDK , you no longer need the WRITE_EXTERNAL_STORAGE permission to use the Google Maps Android API.
  2. If you're targeting earlier versions of the Google Play services SDK, you must request the android.permission.WRITE_EXTERNAL_STORAGE permission.

Проверить this link.

  1. There was a bug in Google play services that causes unintended WRITE_EXTERNAL_STORAGE , READ_EXTERNAL_STORAGE , and READ_PHONE_STATE permissions to be merged into app manifests. That is solved in Google Play services 10.0 release. Check this .

Чтобы избежать этого, я рекомендую включить необходимые индивидуальные API-интерфейсы Службы и соответствующие описания build.gradle. Проверьте this.

Надеюсь, это поможет вам и будущему пользователю.