gpt4 book ai didi

android - 想要在登录完成时开始新的 Activity

转载 作者:行者123 更新时间:2023-11-29 18:07:22 26 4
gpt4 key购买 nike

我想在 Facebook 登录完成时在 DialogListener 中启动一个新 Activity 。登录成功,没有错误出现,但 Activity 没有启动。如果您需要 logcat,我可以给您发电子邮件。以下是我的代码。

这是我的 HomeActivity

package com.example.faceb;

import com.facebook.android.AsyncFacebookRunner;
import com.facebook.android.Facebook;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class HomeActivity extends Activity implements OnClickListener{
private static final String TAG = "Facebook";
private Button mLogin, mLogout, mShare;
private Facebook facebook;
private AsyncFacebookRunner abRunner;

public boolean flag;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.activity_home);

facebook = new Facebook("479652662068145");
abRunner = new AsyncFacebookRunner(facebook);

mLogin= (Button) findViewById(R.id.Login);
mLogout= (Button) findViewById(R.id.Logout);

mLogin.setOnClickListener(this);
mLogout.setOnClickListener(this);
}

@Override
public void onClick(View v){
int id = v.getId();
switch(id){
case R.id.Login:
FacebookLoginDialog login = new FacebookLoginDialog(this);
facebook.authorize(this, login);
if (func()==true)
{
Intent i = new Intent(this, SearchActivity.class);
startActivity(i);
}
break;
case R.id.Logout:
FacebookLogoutRequest logout = new FacebookLogoutRequest(this);
abRunner.logout(this, logout);
Toast toast = Toast.makeText(this, "You Are Logged Out", Toast.LENGTH_SHORT);
toast.show();
break;
default:
break;
}
}

public static boolean func() {
return true;
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_home, menu);
return true;
}
}

并关注我的 FacebookLoginDialog 类

public class FacebookLoginDialog implements DialogListener{
@Override
public void onComplete(Bundle values) {
HomeActivity.func();
}

@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
}

@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
}

@Override
public void onCancel() {
// TODO Auto-generated method stub
}
}

此对话框在单击我的 HomeActivity 中的按钮时启动。请帮助我进行了很多搜索并尝试但无法解决此问题。

最佳答案

我认为您可以启动您想要在登录后启动的 Activity ,而不是在单击按钮时启动对话框。然后在新 Activity 的 onCreate() 中调用对话框。这样您就可以在 onComplete() 中关闭对话框,新屏幕将自动出现。只需在 Activity 中保留一个标志,并仅在登录成功时将其设置为 true 即可。这样,如果对话框关闭后标志为 false,您可以完成新 Activity 。

关于android - 想要在登录完成时开始新的 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12705113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com