ShareSDK应用权限状况
权限
权限阐明
是否必须
INTERNET
容许应用程序联网
必须
ACCESS\_NETWORK\_STATE
容许拜访网络状态
必须
READ\_PHONE\_STATE
读取设施标识
非必须
WRITE\_EXTERNAL\_STORAGE
用于缓存分享图片、log日志和设施标识,以及文件锁的应用
非必须
ACCESS\_FINE\_LOCATION
用于分享SDK治理后盾的区域分析性能展现
非必须
ACCESS\_COARSE\_LOCATION
用于分享SDK治理后盾的区域分析性能展现
非必须
QUERY\_ALL\_PACKAGES
用于高版本Android零碎手机中判断第三方平台是否装置
非必须(Android10以上的版本须要)
去除非必须的权限
一般权限去除
能够在module模块中的build.gradle文件中增加以下的配置去除Gradle主动加载的可选权限办法,去除之后无需增加其余配置性能能够失常应用:
permissions { exclude "须要去除的权限1", "须要去除的权限2"}
比方须要去除掉“android.permission.READ\_PHONE\_STATE”权限,则间接增加如下配置即可:
MobSDK { appKey "Mob开发者后盾申请的AppKey" appSecret "Mob开发者后盾申请的AppSecret" ShareSDK { devInfo { ... } } permissions { exclude "android.permission.READ_PHONE_STATE" }}
QUERY\_ALL\_PACKAGES权限去除阐明:
Android高版本(Android10以上)判断第三方平台是否装置须要应用QUERY\_ALL\_PACKAGES权限,如果没有这个权限ShareSDK分享、受权无奈应用,不过因为Google商店对QUERY\_ALL\_PACKAGES权限审核比拟严格,如您不心愿应用QUERY\_ALL\_PACKAGES权限,能够应用咱们提供exclude的形式去除QUERY\_ALL\_PACKAGES权限:
MobSDK { appKey "Mob开发者后盾申请的AppKey" appSecret "Mob开发者后盾申请的AppSecret" ShareSDK { devInfo { ... } } permissions { exclude "android.permission.QUERY_ALL_PACKAGES" }}
须要留神的是去除QUERY\_ALL\_PACKAGES权限之后,须要在Manifest中通过"queries标签"手动配置一下须要应用的第三方平台包名,相似这样:
<manifest package="xxxxxx"> ......<queries> <!--WhatsApp--> <package android:name="com.whatsapp" /> <!--Facebook--> <package android:name="com.facebook.katana" /> <!--Line客户端--> <package android:name="jp.naver.line.android" /> <!--Google包名--> <package android:name="com.google.android.gm"/> <package android:name="com.google.android.gms"/> <package android:name="com.google.android.apps.plus"/> <!--Twitter--> <package android:name="com.twitter.android" /> <!--WeChat--> <package android:name="com.tencent.mm" /> <!--QQ--> <package android:name="com.tencent.mobileqq" /> <!--instagram--> <package android:name="com.instagram.android" /> <!--FacebookMessenger--> <package android:name="com.facebook.orca" /> <!--新浪微博--> <package android:name="com.sina.weibo" /> ...... </queries>......</manifest>