标签: android-facebook

如何在AndroidManifest.xml文件中访问BuildConfig值?

是否可以从AndroidManifest.xml访问BuildConfig值?

在我的build.gradle文件中,我有:

defaultConfig {
    applicationId "com.compagny.product"
    minSdkVersion 16
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"

    // Facebook app id
    buildConfigField "long", "FACEBOOK_APP_ID", FACEBOOK_APP_ID
}
Run Code Online (Sandbox Code Playgroud)

FACEBOOK_APP_ID 在我的gradle.properties文件中定义:

# Facebook identifier (app ID)
FACEBOOK_APP_ID=XXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)

要在我的应用中使用Facebook连接,我必须将此行添加到我的AndroidManifest.xml:

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/applicationId"/> 
Run Code Online (Sandbox Code Playgroud)

我想用gradle中定义@string/applicationId的BuildConfig字段FACEBOOK_APP_ID替换,如下所示:

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="FACEBOOK_APP_ID"/> 
Run Code Online (Sandbox Code Playgroud)

使用BuildConfig可以吗?如果没有,我怎么能实现这个目标?

android android-xml android-facebook android-gradle-plugin

127
推荐指数
4
解决办法
4万
查看次数

自定义Android Facebook登录按钮

我想自定义Facebook登录按钮的外观,我们与Facebook sdk for android(facebook-android-sdk-3.0.1)相处.我想要一个简单的android按钮,其标题为"通过Facebook登录".我找不到任何关于这方面的文件.

因此,如果有人知道如何以简单的方式做到这一点,请告诉我或指导我如何做到这一点.

android android-facebook

76
推荐指数
7
解决办法
11万
查看次数

Facebook Sdk尚未初始化FacebookSdk.sdkInitialize()

嘿,我知道以前曾经问过,但没有一个解决方案似乎有所帮助.我在我的应用程序中首次使用Facebook SDK.

我尝试过的:

我曾尝试过在互联网上发现的大部分内容,但没有得到任何关于此的内容.

这是我的MainActivity.java:

 public class MainActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    FacebookSdk.sdkInitialize(getApplicationContext());
   } 
}
Run Code Online (Sandbox Code Playgroud)

这是My Activitymain.xml:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:facebook="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

 <com.facebook.login.widget.LoginButton
    android:id="@+id/connectWithFbButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_gravity="center_horizontal"
    android:text="  connect_with_facebook" /> 
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

看我的Logcat:

 05-13 16:30:39.332: E/AndroidRuntime(10264): Caused by: The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first.
Run Code Online (Sandbox Code Playgroud)

android facebook-login android-facebook react-native fbsdk

34
推荐指数
6
解决办法
4万
查看次数

Facebook 3.0 Android第二次登录尝试返回"会话状态关闭"

我正在尝试将Facebook集成到我的Android应用程序中.使用Facebook登录按钮,我尝试登录.当我第一次安装应用程序时,它工作正常并成功登录.当我使用该按钮注销,然后再次尝试登录时,它会显示权限对话框,但SessionState返回状态已关闭.有什么建议?这是我的代码

    public class LoginActivity extends FragmentActivity{

    //  private Login login;
        private boolean isResumed = false;
        private BirthDayComp app;
        private int Login=0;
        private int LogOut=1;
    private int Count=LogOut+1;
    private boolean loged= false;
    private Fragment[] fragments = new Fragment[Count];
     private UiLifecycleHelper uiHelper;
        private Session.StatusCallback callback = new Session.StatusCallback() {
            @Override
            public void call(Session session, SessionState state, Exception exception) {
                onSessionStateChange(session, state, exception);
            }
        };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.login_fragment);
        uiHelper = new UiLifecycleHelper(this, callback);
            uiHelper.onCreate(savedInstanceState);

            FragmentManager fm …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-graph-api facebook-android-sdk android-facebook

25
推荐指数
1
解决办法
1262
查看次数

设计FacebookActivity以避免可怕的进度吧

我刚刚使用他们的SDK结合使用Facebook实现了登录ParseFacebookUtilsV4.

在我的清单中FacebookActivity,当我尝试登录时,我必须声明一个启动,这很有效.

<activity android:name="com.facebook.FacebookActivity"
    android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:label="@string/app_name" />
Run Code Online (Sandbox Code Playgroud)

这个片段来自官方文档,所以我没有选择任何东西.我发现它的造型真的很奇怪.在我的模拟器(API 22)上它有一个似乎来自90年代的ProgressBar!有没有办法造型呢?我尝试过更改android:theme属性,但没有成功.

在此输入图像描述

我想扩展com.facebook.FacebookActivity,但在挖掘源代码后我发现它膨胀了一个com.facebook.LoginFragment,然后实际上负责进度条.有任何想法吗?

android facebook android-facebook android-styles

22
推荐指数
1
解决办法
1346
查看次数

如何退出Facebook SDK事件记录?

我正在使用Facebook App Events跟踪Android,但我不知道如何在用户想要退出时禁用跟踪!有谁知道这是怎么做到的吗?

文件说:

我们建议您使用我们的SDK工具提供退出选项.

但他们实际上并没有在任何地方描述它.经典Facebook移动.

编辑:现在GDPR生效了很长时间,他们仍然没有办法禁用所有跟踪,直到用户同意,是吗?

android android-facebook facebook-sdk-4.0

22
推荐指数
3
解决办法
2278
查看次数

在Facebook Android SDK 4.0中设置按钮的登录/注销文本?

我的xml看起来像这样

<com.facebook.login.widget.LoginButton xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fb_login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:text="CONNECT WITH FACEBOOK"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold"
android:background="@drawable/button_fb_login"/>
Run Code Online (Sandbox Code Playgroud)

和背景drawble xml是

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
    <shape>
        <solid android:color="#4e69a2" />
        <stroke android:width="3dip" android:color="#4e69a2" />
        <padding android:bottom="0dip" android:left="0dip" android:right="0dip" android:top="0dip" />
    </shape>
</item>

<item>
    <shape>
        <solid android:color="#3b5998" />
        <stroke android:width="3dip" android:color="#3b5998" />
        <padding android:bottom="0dip" android:left="0dip" android:right="0dip" android:top="0dip" />
    </shape>
</item>
Run Code Online (Sandbox Code Playgroud)

现在在android studio预览屏幕中,它按预期显示.

在此输入图像描述

但是当我在手机或模拟器上运行它时,默认显示"登录FACEBOOK",就像这样

在此输入图像描述

如何在运行应用程序时获取自定义文本?

android facebook-graph-api facebook-android-sdk facebook-login android-facebook

21
推荐指数
2
解决办法
2万
查看次数

在facebook页面上分享抛出错误

当我在Facebook页面上分享时,收到以下错误:

(#100)只有URL的所有者才能指定图片,名称,缩略图或描述参数.

它在5-10天前工作正常.搜索时我在Facebook开发者网站链接上找到了以下内容:

"自2017年11月7日起,链接自定义可用,但链接必须由发布页面拥有,并且需要页面访问令牌.要验证所有权,请检查URL节点上的ownership_permissions {can_customize_link_posts}字段.请参阅我们的链接所有权有关详细信息的指南.对于版本2.10及更低版本,不推荐使用图片,名称,缩略图和说明.不建议使用所有版本的标题."

任何帮助,将不胜感激!

ShareLinkContent content = new ShareLinkContent.Builder()
            .setContentUrl(Uri.parse(shareUrl))
            .build();

new ShareApi(content).share(new FacebookCallback<Sharer.Result>() {

        @Override
        public void onSuccess(Sharer.Result result) {
            shareCallback.onSuccess(result);
        }

        @Override
        public void onCancel() {
            shareCallback.onCancel();
        }

        @Override
        public void onError(FacebookException error) {
            shareCallback.onError(error);
        }
    });
Run Code Online (Sandbox Code Playgroud)

android facebook-sharer facebook-android-sdk android-facebook

21
推荐指数
2
解决办法
486
查看次数

在一个请求中获取读取和发布权限

在你们都说不可能之前,打开Spotify应用程序并用Facebook按钮点击登录.

我想知道他们是如何做到的,以及如何在一个请求中获得"publish_stream"和基本权限/电子邮件.

另外,如果我从上次会话中获得某些信息(他们上次使用该应用程序时),我是否可以使用Facebook SDK重新开启Facebook会话?

编辑 -SCREENSHOTS以下为音乐AVERT

Spotify魔术

android facebook facebook-android-sdk android-facebook

20
推荐指数
1
解决办法
2万
查看次数

Android Facebook SDK:上传谷歌播放时,密钥哈希与任何存储的密钥哈希都不匹配

我的应用程序使用facebook api进行用户登录.在开发它工作正常,但当我上传到谷歌播放它停止工作.

这是错误日志:

12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284): Exception during service
12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284): com.facebook.http.protocol.ApiException: Key hash XXXXXXX does not match any stored key hashes.
12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284):     at com.facebook.http.protocol.ApiResponseChecker.b(ApiResponseChecker.java:83)
12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284):     at com.facebook.http.protocol.ApiResponseChecker.a(ApiResponseChecker.java:162)
12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284):     at com.facebook.http.protocol.ApiResponse.g(ApiResponse.java:239)
12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284):     at com.facebook.katana.server.protocol.AuthorizeAppMethod.a(AuthorizeAppMethod.java:272)
12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284):     at com.facebook.katana.server.protocol.AuthorizeAppMethod.a(AuthorizeAppMethod.java:29)
12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284):     at com.facebook.http.protocol.ApiResponseHandler.a(ApiResponseHandler.java:56)
12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284):     at com.facebook.http.protocol.ApiResponseHandler.handleResponse(ApiResponseHandler.java:29)
12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284):     at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:280)
12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284):     at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:141)
12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284):     at com.facebook.http.common.FbHttpRequestProcessor.b(FbHttpRequestProcessor.java:103)
12-10 20:20:02.488: W/fb4a(:<default>):BlueServiceQueue(17284):     at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:196)
12-10 20:20:02.488: …
Run Code Online (Sandbox Code Playgroud)

android facebook-login android-facebook

18
推荐指数
5
解决办法
4万
查看次数