2017-03-16 29 views
1

即使我沒有明確要求,我的Android應用程序仍顯示需要聯繫人權限。Android中的聯繫人權限無需申請

這裏是AndroidManifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.myapp.package" 
    android:versionCode="2" 
    android:versionName="1.1" > 

    <uses-sdk 
     android:minSdkVersion="14" 
     android:targetSdkVersion="19" /> 

    <permission 
     android:name="com.myapp.package.permission.C2D_MESSAGE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="com.myapp.package.permission.C2D_MESSAGE" /> 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.USE_CREDENTIALS" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 

    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 

    <permission 
     android:name="com.myapp.package.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="com.myapp.package.permission.MAPS_RECEIVE" /> 

    <uses-feature android:name="android.hardware.camera" /> 
    <uses-feature android:name="android.hardware.camera.autofocus" /> 
<> 

從的build.gradle:

compile 'com.android.support:support-v4:23.4.0' 
compile 'com.android.support:appcompat-v7:23.4.0' 
compile 'com.google.android.gms:play-services:+' 

// SwipeLayout 
// https://github.com/daimajia/AndroidSwipeLayout 
compile 'com.android.support:recyclerview-v7:21.0.0' 
compile 'com.android.support:support-v4:20.+' 
compile 'com.daimajia.swipelayout:library:[email protected]' 

// Crashlytics 
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
    transitive = true; 

如何找到聯繫人批准的理由被添加?

我查了Why does my app say I am requesting permission for Contacts?並交叉檢查了我的play-services依賴關係。它沒有解決這個問題。

+1

的可能的複製[爲什麼我的應用程序說我請求准許聯絡?(http://stackoverflow.com/questions/36299099/why-does-my-app-say- i-am-requests-permission-for-contacts) – X3Btel

+1

看看你的合併清單(假設你使用的是Android Studio 2.2,它是你的清單編輯器的子選項卡),看看它在哪裏c從...開始。 – CommonsWare

+2

你有'編譯'com.google.android.gms:play-services:+''哪個廣告所有的谷歌播放服務 - 看看你需要哪些,並只添加它們 – X3Btel

回答

1

基於從X3Btel和CommonsWare建議,以下更改工作:

編譯 'com.android.support:support-v4:23.4.0' 編譯「com.android.support:appcompat-v7: 23.4.0'

// Google Analytics 
compile 'com.google.android.gms:play-services-analytics:9.4.0' 

// Google Drive 
compile 'com.google.android.gms:play-services-drive:9.4.0' 

// Google Maps 
compile 'com.google.android.gms:play-services-maps:9.4.0' 

// SwipeLayout 
// https://github.com/daimajia/AndroidSwipeLayout 
compile 'com.android.support:recyclerview-v7:23.4.0' 
compile 'com.daimajia.swipelayout:library:[email protected]'