ShareSDK 使用权限情况
去除非必须的权限
普通权限去除
可以在 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_PACKAGESE",
}
}
复制代码
需要注意的是去除 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" />
<!--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>
复制代码
可进入官网文档中心了解更多操作指南
评论