标签: facebook-android-sdk

在Android Facebook sdk 3.0上使用proguard时出错

警告:我删除了很多"旧文本"以使问题更加清晰.如果需要,只需查看历史记录.

我正在使用proguard缩小和混淆使用facebook sdk 3.0的应用程序(我正在使用sdk-version-3.0.2.b标记).我没有使用JAR文件.相反,我按照文档中的说明在我的工作区中导入了sdk .

在执行的某个时刻,应用程序加载PlacePickerFragment以让用户选择他所在的位置.为了编写代码,我完全遵循了美味的教程.当我生成调试apk而不使用proguard一切按预期工作.但是当我使用生成签名的apk时proguard,它会在PlacePickerFragment使用以下跟踪加载附近的地方时崩溃:

E/AndroidRuntime(27472): FATAL EXCEPTION: main
E/AndroidRuntime(27472): com.facebook.FacebookGraphObjectException: can't infer generic type of: interface com.facebook.model.GraphObjectList
E/AndroidRuntime(27472):    at com.facebook.model.GraphObject$Factory.coerceValueToExpectedType(Unknown Source)
E/AndroidRuntime(27472):    at com.facebook.model.GraphObject$Factory$GraphObjectProxy.proxyGraphObjectGettersAndSetters(Unknown Source)
E/AndroidRuntime(27472):    at com.facebook.model.GraphObject$Factory$GraphObjectProxy.invoke(Unknown Source)
E/AndroidRuntime(27472):    at com.facebook.widget.$Proxy2.getData(Native Method)
E/AndroidRuntime(27472):    at com.facebook.widget.GraphObjectPagingLoader.addResults(Unknown Source)
E/AndroidRuntime(27472):    at com.facebook.widget.GraphObjectPagingLoader.requestCompleted(Unknown Source)
E/AndroidRuntime(27472):    at com.facebook.widget.GraphObjectPagingLoader.access$1(Unknown Source)
E/AndroidRuntime(27472):    at com.facebook.widget.GraphObjectPagingLoader$2.onCompleted(Unknown Source)
E/AndroidRuntime(27472):    at com.facebook.Request$4.run(Unknown Source)
E/AndroidRuntime(27472):    at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime(27472):    at android.os.Handler.dispatchMessage(Handler.java:92) …
Run Code Online (Sandbox Code Playgroud)

android facebook proguard facebook-android-sdk

17
推荐指数
2
解决办法
7944
查看次数

Android:Facebook成功登录后获得"用户访问令牌"

我一直在通过Facebook最新的SDK即3.0进行一些登录项目.我在获取用户访问令牌方面遇到了困难.我在互联网上搜索了所有,最大的结果是使用了旧的SDK.以下是我从Facebook Android SDK教程中获取的一些代码:

public class LoginActivity extends Activity implements OnClickListener {

Button login;
TextView accessToken;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    login = (Button) findViewById(R.id.login);
    accessToken = (TextView) findViewById(R.id.accessToken);

    login.setOnClickListener(this);

}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode,
            resultCode, data);
}

@Override
public void onClick(View v) {
    // start Facebook Login
    Session.openActiveSession(this, true, new Session.StatusCallback() {

        // callback when session changes state
        @Override
        public void call(Session session, SessionState …
Run Code Online (Sandbox Code Playgroud)

android facebook-android-sdk android-facebook

17
推荐指数
3
解决办法
6万
查看次数

Facebook Android SDK 3.5中的自定义Facebook登录按钮图像

与Facebook Android SDK 3.0相关的问题类似于...

是否可以在SDK 3.5中使用我自己的图像作为Facebook登录按钮,而无需自定义SDK本身?

使用链接问题中给出的答案:

<com.facebook.widget.LoginButton
    xmlns:fb="http://schemas.android.com/apk/res-auto"
    android:id="@+id/login_button"
    android:layout_width="249dp"
    android:layout_height="45dp"
    android:layout_above="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center_horizontal"
    android:layout_marginBottom="30dp"
    android:layout_marginTop="30dp"
    android:contentDescription="@string/login_desc"
    android:scaleType="centerInside"
    fb:login_text=""
    fb:logout_text="" />
Run Code Online (Sandbox Code Playgroud)

和:

final LoginButton button = (LoginButton) findViewById(R.id.login_button);
button.setBackgroundResource(R.drawable.facebook);
Run Code Online (Sandbox Code Playgroud)

我看到两个带有新SDK的图像.我的图像(R.drawable.facebook)是一个带有白色"f"的大灰色背景.但是,我也看到小白色背景和透明的"f"来自覆盖在背景顶部的原始facebook按钮图标.查看与SDK 3.5登录按钮相关的facebook文档.我想完全删除原来的facebook图标.

android facebook-android-sdk

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

Facebook sdk获取用户的电话号码或地址?

我想我挖了整个facebook sdk文档,但似乎无法找到获取用户电话号码或地址的方法.此功能是否已删除,如本主题所述,建议在几周内(2011年)重新启用此功能.

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

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

Android和Facebook SDK:从/ me /图片图形调用解码图片

编辑:Anwser在这篇文章的最后.

由于内置的​​Facebook SDK功能,我试图获得Facebook用户的个人资料图片Request().

我正在使用/me/picture调用来获取个人资料图片并将其转换为Bitmap.

该调用工作正常,但我不知道如何解释和解析从Facebook返回的结果

这是JSON我得到的:

{"FACEBOOK_NON_JSON_RESULT":" \u0000\u0010JFIF\u0000\u0001\u0002\u0000\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0000\u0004*\u0000\\ u0000C\u0000\u0000\u0006\u0004\u0006\u0005\u0004\u0006\u0006\u0005\u0006\u0007\u0007\u0006\b"}

我认为这应该代表个人资料图片,但我现在不知道如何处理这个问题.

如果有人能告诉我如何解码它,将其转换为Bitmap或它是什么样的数据,我将不胜感激.

注意:我不想使用除Request()之外的任何其他函数,如DecodeStream()或AsyncTask


这是答案:

制作新内容时,Request()您需要将"redirect"参数添加到false:

Bundle params = new Bundle();
params.putBoolean("redirect", false);
Run Code Online (Sandbox Code Playgroud)

这将返回正确的图片网址:

{
"data":{
      "is_silhouette":false,
      "url":"https:\/\/fbcdn-profile-a.akamaihd.net\/hprofile-ak-xpa1\/v\/t1.0-1\/p100x100\/10312434_10152395442477210_2933994167675146084_n.jpg?oh=f3c8cb920c97fcfa4dc5e17462445cbf&oe=54404A3A&__gda__=1412730795_5f288e34e5f6e63cb1c3791dcb142880"
   }
}
Run Code Online (Sandbox Code Playgroud)

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

16
推荐指数
1
解决办法
1519
查看次数

寻找Android Facebook SDK示例

我看了整个互联网,似乎无法找到我正在寻找...

我只是想找到一个网站,上面有一些关于如何使用OFFICIAL facebook android SDK的例子http://github.com/facebook/facebook-android-sdk

具体来说,我想看一些关于通知使用和简单照片上传的例子.但我会采取任何措施来帮助您了解使用SDK.

如果有人知道任何例子,请分享非常感谢!

java sdk android facebook facebook-android-sdk

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

新的Facebook API 3.0.和ActionBarSherlock兼容性

我正在阅读facebook Android API 3.0文档,我不明白会话与后台活动有什么关系.在所有的例子中,我都应该扩展"FacebookFragment".好吧,如果我的整个应用程序没有扩展"SherlockFragment",那将是很好的,所以我不认为扩展FacebookFragment是一个选项.

如果我使用SessionLoginExample中的代码,并将我的AppID放在Strings中与facebook完全相同的字符串中,我得到:

错误

10-22 17:04:26.464: E/AndroidRuntime(5491): FATAL EXCEPTION: main
10-22 17:04:26.464: E/AndroidRuntime(5491): java.lang.RuntimeException: Unable to start activity ComponentInfo{nl.specsavers.moodspecs/nl.specsavers.moodspecs.LauncherActivity}: java.lang.NullPointerException: Argument applicationId cannot be null
Run Code Online (Sandbox Code Playgroud)

我正在尝试设置初始检查是否安装了应用程序,以及会话是否存在.

 Settings.addLoggingBehavior(LoggingBehaviors.INCLUDE_ACCESS_TOKENS);

    Session session = Session.getActiveSession();
    if (session == null) {
        if (savedInstanceState != null) {
            session = Session.restoreSession(this, null, statusCallback, savedInstanceState);
        }
        if (session == null) {
            session = new Session(this);
        }
        Session.setActiveSession(session);
        if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) {
            session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback));
        }

    } 
Run Code Online (Sandbox Code Playgroud)

我需要能够以某种方式将我的App ID放在某个实际上可以正常的地方,但我找不到放在哪里.

我需要知道如果我使用SherlockFragment可以避免扩展FacebookFragment.

TNX.

android facebook facebook-android-sdk actionbarsherlock

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

使用Facebook SDK 3.0 for Android检索个人资料图片

我关注Facebook SDK 3.0 for Android的问题.我想在不使用他们的ProfilePictureView小部件的情况下获取我的(和我的朋友)个人资料图片,所以如果我使用Graph Explorer,我会看到Json响应是:

{
   "data": {
         "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/372127_1377011138_1538716206_q.jpg", 
         "is_silhouette": false
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要"url"路径下载并显示图片,但使用以下代码:

Request.executeGraphPathRequestAsync(Session.getActiveSession(), 
                                     "me/picture", 
                                      new Request.Callback() {
        @Override
        public void onCompleted(Response response) {
            GraphObject go = response.getGraphObject();
            Log.i("APP_NAME", go.toString());           
        }
});
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

GraphObject{graphObjectClass=GraphObject, 
    state={"FACEBOOK_NON_JSON_RESULT":"????\u0000\u0010JFIF\u0000\u0001\u0001\u0000\u0000\u0001\u0000\u0001\u0000\u0000??\u0000"}}
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?谢谢

Cromir

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

15
推荐指数
3
解决办法
1万
查看次数

扩展类com.facebook.widget.LoginButton时出错

我使用3.0文档中的步骤构建了Facebook集成.当我使用Eclispe将应用程序部署到手机时,它可以正常工作; 但是,当我导出应用程序将其上传到商店并侧面加载apk时,它会失败,并显示以下错误.当我导出它时,SDK就在那里并加载了.关于我哪里出错的任何线索?

03-18 21:01:02.089: E/AndroidRuntime(14834): FATAL EXCEPTION: main
03-18 21:01:02.089: E/AndroidRuntime(14834): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.telvista.facebooksupport/com.telvista.facebooksupport.SplashActivity}: android.view.InflateException: Binary XML file line #51: Error inflating class com.facebook.widget.LoginButton
03-18 21:01:02.089: E/AndroidRuntime(14834):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2088)
03-18 21:01:02.089: E/AndroidRuntime(14834):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2113)
03-18 21:01:02.089: E/AndroidRuntime(14834):    at android.app.ActivityThread.access$700(ActivityThread.java:139)
03-18 21:01:02.089: E/AndroidRuntime(14834):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1224)
03-18 21:01:02.089: E/AndroidRuntime(14834):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-18 21:01:02.089: E/AndroidRuntime(14834):    at android.os.Looper.loop(Looper.java:137)
03-18 21:01:02.089: E/AndroidRuntime(14834):    at android.app.ActivityThread.main(ActivityThread.java:4918)
03-18 21:01:02.089: E/AndroidRuntime(14834):    at java.lang.reflect.Method.invokeNative(Native Method)
03-18 21:01:02.089: E/AndroidRuntime(14834):    at java.lang.reflect.Method.invoke(Method.java:511)
03-18 21:01:02.089: E/AndroidRuntime(14834):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
03-18 21:01:02.089: …
Run Code Online (Sandbox Code Playgroud)

android facebook-android-sdk

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

如何在facebook SDK 3.0 Android中获取用户的facebook个人资料图片

我正在使用facebook SDK 3.0我必须获得用户登录的个人资料图片.这是我使用的代码:

URL image_value = new URL("http://graph.facebook.com/"+id+"/picture" );
profPict=BitmapFactory.decodeStream(image_value.openConnection().getInputStream());
Run Code Online (Sandbox Code Playgroud)

但我没有得到理想的结果.

android facebook facebook-android-sdk

15
推荐指数
5
解决办法
3万
查看次数