Facebook的Andr​​oid游戏,为什么我不能用'这个'作为活动openRequest()? [英] Facebook for android, why can't I use 'this' as the activity to openRequest()?

查看:134
本文介绍了Facebook的Andr​​oid游戏,为什么我不能用'这个'作为活动openRequest()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的活动课我无法打开使用'这'的请求或设置活动会话。我的活动是另一活动的子,并且似乎是它和Facebook给出的登录样品之间唯一的区别。当我使用'这个'我得到这个错误:

  12月5日至24日:24:27.101:E / AndroidRuntime(30006):致命异常:主要
12月5日至24日:24:27.101:E / AndroidRuntime(30006):了java.lang.RuntimeException:无法恢复活动{com.tsavomedia.babynames / com.facebook.LoginActivity}:com.facebook.FacebookException:不能叫LoginActivity与空调用包。如果呼叫者的launchMode是singleInstance会发生这种情况。
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在android.app.ActivityThread.performResumeActivity(ActivityThread.java:2742)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2771)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2235)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在android.app.ActivityThread.access $ 600(ActivityThread.java:141)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1234)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在android.os.Handler.dispatchMessage(Handler.java:99)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在android.os.Looper.loop(Looper.java:137)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在android.app.ActivityThread.main(ActivityThread.java:5041)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在java.lang.reflect.Method.invokeNative(本机方法)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在java.lang.reflect.Method.invoke(Method.java:511)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:793)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在dalvik.system.NativeStart.main(本机方法)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):com.facebook.FacebookException:产生的原因无法调用LoginActivity用空调用包。如果呼叫者的launchMode是singleInstance会发生这种情况。
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在com.facebook.LoginActivity.onResume(LoginActivity.java:110)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1185)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在android.app.Activity.performResume(Activity.java:5182)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):在android.app.ActivityThread.performResumeActivity(ActivityThread.java:2732)
12月5日至24日:24:27.101:E / AndroidRuntime(30006):... 12多

我已经在自己的位置使用的getParent()试图但是页面重定向到父,并且不调用回调。是否有一个原因,我不能用这个和方式来解决它?

编辑:code

这是一次按钮被点击登录Facebook的东西被调用:

 公共无效getEmail(){
    StatusCallback回调=新StatusCallback(){
        公共无效呼叫(会话的会话,SessionState会状态,异常除外){
            如果(session.isOpened()){
                发送请求();
            }否则如果(例外!= NULL){
                AlertDialog alertDialog;
                。alertDialog =新AlertDialog.Builder(的getParent())创建();
                alertDialog.setTitle(的getParent()的getString(R.string.login_fail));
                alertDialog.setMessage(exception.getMessage());
                alertDialog.show();
                mSession =了createSession();
            }
        }
    };
    会话的会话= Session.getActiveSession();
    如果(会话== NULL){
        会话=新的Session(本);
        如果(session.getState()。等于(SessionState.CREATED_TOKEN_LOADED)|| session.getState()。等于(SessionState.CREATED)){
            session.addCallback(回调);
            session.openForRead(新OpenRequest(本));
            Session.setActiveSession(会话);
        }
    }其他{
        Session.openActiveSession(这一点,真的,回调);
    }
}


解决方案

错误日志中说:...来电者是singleInstance。

也许同样probleme:<一href=\"http://stackoverflow.com/questions/14123580/updated-android-facebook-api-3-0-error-cannot-call-loginactivity-with-a-null\">Updated - Android的Facebook的API 3.0错误:不能用null调用封装调用LoginActivity

In my activity class I am unable to open a request or set active session using 'this'. My activity is a child of another activity and that seems to be the only difference between it and the login sample given by facebook. When I use 'this' I get this error:

05-24 12:24:27.101: E/AndroidRuntime(30006): FATAL EXCEPTION: main
05-24 12:24:27.101: E/AndroidRuntime(30006): java.lang.RuntimeException: Unable to resume activity {com.tsavomedia.babynames/com.facebook.LoginActivity}: com.facebook.FacebookException: Cannot call LoginActivity with a null calling package. This can occur if the launchMode of the caller is singleInstance.
05-24 12:24:27.101: E/AndroidRuntime(30006):    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2742)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2771)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2235)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at android.os.Handler.dispatchMessage(Handler.java:99)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at android.os.Looper.loop(Looper.java:137)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at android.app.ActivityThread.main(ActivityThread.java:5041)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at java.lang.reflect.Method.invokeNative(Native Method)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at java.lang.reflect.Method.invoke(Method.java:511)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at dalvik.system.NativeStart.main(Native Method)
05-24 12:24:27.101: E/AndroidRuntime(30006): Caused by: com.facebook.FacebookException: Cannot call LoginActivity with a null calling package. This can occur if the launchMode of the caller is singleInstance.
05-24 12:24:27.101: E/AndroidRuntime(30006):    at com.facebook.LoginActivity.onResume(LoginActivity.java:110)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1185)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at android.app.Activity.performResume(Activity.java:5182)
05-24 12:24:27.101: E/AndroidRuntime(30006):    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2732)
05-24 12:24:27.101: E/AndroidRuntime(30006):    ... 12 more

I have tried using getParent() in its place however the page redirects to the parent and does not call the callback. Is there a reason I cannot use this and a way to fix it?

EDIT: code

This is what gets called once the button is clicked to login to facebook:

public void getEmail() {
    StatusCallback callback = new StatusCallback() {
        public void call(Session session, SessionState state, Exception exception) {
            if (session.isOpened()) {
                sendRequests();
            } else if (exception != null) {
                AlertDialog alertDialog;
                alertDialog = new AlertDialog.Builder(getParent()).create();
                alertDialog.setTitle(getParent().getString(R.string.login_fail));
                alertDialog.setMessage(exception.getMessage());
                alertDialog.show();
                mSession = createSession();
            }
        }
    };
    Session session = Session.getActiveSession();
    if (session == null) {
        session = new Session(this);
        if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED) || session.getState().equals(SessionState.CREATED)) {
            session.addCallback(callback);
            session.openForRead(new OpenRequest(this));
            Session.setActiveSession(session);
        }
    } else {
        Session.openActiveSession(this, true, callback);
    }
}

解决方案

the error log says : ...the caller is singleInstance.

maybe same probleme: Updated - Android Facebook api 3.0 error: Cannot call LoginActivity with a null calling package

这篇关于Facebook的Andr​​oid游戏,为什么我不能用'这个'作为活动openRequest()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆