Android Facebook 内容提供商权限以编程方式更改

Android Facebook content provider authority change programmatically

<provider android:authorities="com.facebook.app.FacebookContentProvider{app id here}"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>

我可以在 Android 应用程序中以编程方式更改 Facebook appId 吗?

如果您想根据您的构建类型更改它,您可以使用字符串资源来替换您的 Facebook Id 的实际值。

<provider
android:authorities="@string/FB_APP_ID"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>

然后在您的 build.gradle 上为每个构建类型定义 FB_APP_ID 的值。

buildTypes{
   debug{
        resValue "string", "FB_APP_ID",
        "com.facebook.app.FacebookContentProvider{appid1}"
    }
   release{
        resValue "string", "FB_APP_ID",
        "com.facebook.app.FacebookContentProvider{appid2}"
    }
}