我尝试通过Facebook API连接Facebook,我按照这个例子:https://github.com/facebook/facebook-android-sdk/tree/master/examples/simple
一切都还可以,但是当我尝试编辑一些代码时,我的意思是我希望在登录成功后显示对话框发布消息,如下所示:
public void onAuthSucceed() {
mText.setText("You have logged in! ");
//This is the code to call the post message dialog.
mFacebook.dialog(Example.this, "feed",new SampleDialogListener());
}
Run Code Online (Sandbox Code Playgroud)
我在logcat中收到此错误:
03-02 13:32:08.629: E/AndroidRuntime(14991): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@405180f8 is not valid; is your activity running?
03-02 13:32:08.629: E/AndroidRuntime(14991): at android.view.ViewRoot.setView(ViewRoot.java:532)
03-02 13:32:08.629: E/AndroidRuntime(14991): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
03-02 13:32:08.629: E/AndroidRuntime(14991): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
03-02 13:32:08.629: E/AndroidRuntime(14991): at android.view.Window$LocalWindowManager.addView(Window.java:424)
03-02 13:32:08.629: E/AndroidRuntime(14991): at android.app.Dialog.show(Dialog.java:241)
03-02 13:32:08.629: E/AndroidRuntime(14991): at com.facebook.android.Facebook.dialog(Facebook.java:780)
03-02 13:32:08.629: …Run Code Online (Sandbox Code Playgroud) 我有一个登录屏幕,成功登录后,它会完成并显示另一个包含用户信息的页面。
我读过这篇文章和这篇文章。
我还阅读了很多关于我们如何扩展 Application 类的内容,但我仍然无法运行此代码。
您可以在下面找到我的代码,我也会解释错误。
这就是我使用 Volley 调用 AsyncTask 的方式:
错误就像no activity for token android.os.BinderProxy我调用startActivity(intent);.
我知道这个错误是因为活动被杀死了,而 Volley 响应之后的 AsyncTask 想要使用被杀死的上下文,但我不知道如何修复它。
Util.request_function(
activity,
MainActivity.user_session,
key_value,
new VolleyCallback() {
@Override
public void onSuccess(JSONObject result, Context context) {
Activity activity =
MyBaseActivity.myCustomApplication.getCurrentActivity();
Intent intent = new Intent(activity, SelfieCapture.class);
startActivity(intent);
finish();
}
@Override
public void onError(String result) {
}
});
Run Code Online (Sandbox Code Playgroud)
我有如下接口:
VolleyCallback.java:
public interface VolleyCallback {
void onSuccess(JSONObject result) throws JSONException;
void onError(String result) throws …Run Code Online (Sandbox Code Playgroud) java android android-asynctask android-studio android-volley