Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我需要自动调用另一个活动,更不知道在哪里放置代码,facebook登录_Java_Android_Facebook_Sdk - Fatal编程技术网

Java 我需要自动调用另一个活动,更不知道在哪里放置代码,facebook登录

Java 我需要自动调用另一个活动,更不知道在哪里放置代码,facebook登录,java,android,facebook,sdk,Java,Android,Facebook,Sdk,对不起,我的英语!需要自动调用另一个活动,更不知道把代码放在哪里,“facebook登录sdk”代码是怎么回事,“startActivity”没有功能 /** * A placeholder fragment containing a simple view. */ public class MainFragment extends Fragment { private TextView mTextDetails; private CallbackManager mCallbackMan

对不起,我的英语!需要自动调用另一个活动,更不知道把代码放在哪里,“facebook登录sdk”代码是怎么回事,“startActivity”没有功能

/**  * A placeholder fragment containing a simple view.  */ 
public class MainFragment extends Fragment {

private TextView mTextDetails;
private CallbackManager mCallbackManager;
private AccessTokenTracker mTokenTracker;
private ProfileTracker mProfileTracker;

private FacebookCallback<LoginResult> mFacebookCallback = new FacebookCallback<LoginResult>() {
    @Override
    public void onSuccess(LoginResult loginResult) {
        Log.d("KeyHash", "onSuccess");
        AccessToken accessToken = loginResult.getAccessToken();
        Profile profile = Profile.getCurrentProfile();
        mTextDetails.setText(constructWelcomeMessage(profile));

    }


    @Override
    public void onCancel() {
        Log.d("KeyHash", "onCancel");
    }

    @Override
    public void onError(FacebookException e) {
        Log.d("KeyHash", "onError " + e);
    }
};


public MainFragment() {
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getActivity().getApplicationContext());

    mCallbackManager = CallbackManager.Factory.create();
    setupTokenTracker();
    setupProfileTracker();

    mTokenTracker.startTracking();
    mProfileTracker.startTracking();
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_main, container, false);
}

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    setupTextDetails(view);
    setupLoginButton(view);
}

@Override
public void onResume() {
    super.onResume();
    Profile profile = Profile.getCurrentProfile();
    mTextDetails.setText(constructWelcomeMessage(profile));
}

@Override
public void onStop() {
    super.onStop();
    mTokenTracker.stopTracking();
    mProfileTracker.stopTracking();
}

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

private void setupTextDetails(View view) {
    mTextDetails = (TextView) view.findViewById(R.id.text_details);
}

private void setupTokenTracker() {
    mTokenTracker = new AccessTokenTracker() {
        @Override
        protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken currentAccessToken) {
            Log.d("KeyHash", "Welcome" + currentAccessToken);
        }
    };
}

private void setupProfileTracker() {
    mProfileTracker = new ProfileTracker() {
        @Override
        protected void onCurrentProfileChanged(Profile oldProfile, Profile currentProfile) {
            Log.d("KeyHash", "Welcome" + currentProfile);
            mTextDetails.setText(constructWelcomeMessage(currentProfile));
        }
    };
}

private void setupLoginButton(View view) {
    LoginButton mButtonLogin = (LoginButton) view.findViewById(R.id.login_button);
    mButtonLogin.setFragment(this);
    mButtonLogin.setReadPermissions("public_profile,user_friends,email");
    mButtonLogin.registerCallback(mCallbackManager, mFacebookCallback);
}

private String constructWelcomeMessage(Profile profile) {
    StringBuffer stringBuffer = new StringBuffer();
    if (profile != null) {
         stringBuffer.append("Welcome " + profile.getName());
    }
   return stringBuffer.toString();
}

}
/***包含简单视图的占位符片段。*/
公共类MainFragment扩展了片段{
私有文本查看mTextDetails;
私有CallbackManager-mCallbackManager;
私有访问令牌跟踪程序mTokenTracker;
私人档案跟踪器mProfileTracker;
私有FacebookCallback mFacebookCallback=新FacebookCallback(){
@凌驾
成功时公共无效(LoginResult LoginResult){
Log.d(“KeyHash”、“onSuccess”);
AccessToken AccessToken=loginResult.getAccessToken();
Profile Profile=Profile.getCurrentProfile();
setText(constructWelcomeMessage(profile));
}
@凌驾
公开作废{
Log.d(“KeyHash”、“onCancel”);
}
@凌驾
公共无效onError(FaceBook例外e){
Log.d(“KeyHash”、“onError”+e);
}
};
公共MainFragment(){
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
sdkinInitialize(getActivity().getApplicationContext());
mCallbackManager=CallbackManager.Factory.create();
setupTokenTracker();
setupProfileTracker();
mTokenTracker.startTracking();
mProfileTracker.startTracking();
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
返回充气机。充气(右布局图。主容器,假);
}
@凌驾
已创建视图上的公共void(视图,捆绑保存状态){
setupTextDetails(视图);
设置登录按钮(视图);
}
@凌驾
恢复时公开作废(){
super.onResume();
Profile Profile=Profile.getCurrentProfile();
setText(constructWelcomeMessage(profile));
}
@凌驾
公共void onStop(){
super.onStop();
mTokenTracker.stopTracking();
mProfileTracker.stopTracking();
}
@凌驾
ActivityResult上的公共void(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
onActivityResult(请求代码、结果代码、数据);
}
私有void setupTextDetails(视图){
mTextDetails=(TextView)view.findViewById(R.id.text\u details);
}
私有void setupTokenTracker(){
mTokenTracker=new AccessTokenTracker(){
@凌驾
受保护的onCurrentAccessTokenChanged无效(AccessToken oldAccessToken、AccessToken currentAccessToken){
Log.d(“KeyHash”、“Welcome”+currentAccessToken);
}
};
}
私有void setupProfileTracker(){
mProfileTracker=newprofiletracker(){
@凌驾
更改当前配置文件时受保护的无效(配置文件oldProfile、配置文件currentProfile){
Log.d(“KeyHash”、“Welcome”+currentProfile);
setText(constructWelcomeMessage(currentProfile));
}
};
}
私有void设置登录按钮(视图){
LoginButton mButtonLogin=(LoginButton)view.findViewById(R.id.login_按钮);
mButtonLogin.setFragment(本);
mButtonLogin.setReadPermissions(“公共配置文件、用户朋友、电子邮件”);
mButtonLogin.registerCallback(mCallbackManager,mFacebookCallback);
}
私有字符串消息(配置文件){
StringBuffer StringBuffer=新的StringBuffer();
if(profile!=null){
追加(“欢迎”+profile.getName());
}
返回stringBuffer.toString();
}
}

如果您试图在用户成功登录后立即启动活动,则可以在FacebookCallback的
onSuccess(LoginResult LoginResult)
方法中调用
startActivity(intent)

在onSuccess方法中尝试此操作

GraphRequest request = GraphRequest.newMeRequest(
                        accessToken,
                        new GraphRequest.GraphJSONObjectCallback() {
                            @Override
                            public void onCompleted(
                                    JSONObject object,
                                    GraphResponse response) {
                                // Application code
                                try {

                                    String name = object.getString("name");
                                    String id = object.getString("id");

                                    Intent redirect=new Intent(Login_Activity.this,anotheractivity.class);
                                    startActivity(redirect);

                                } catch (JSONException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                }
                            }
                        });

在if(profile!=null)中,您可以调用其他活动,并可以在itcontinues错误中获取用户的详细信息:(“错误:(63,49)错误:找不到适合Intent(MainFragment,Class)构造函数Intent的构造函数。Intent(String,Uri)不适用(参数不匹配;MainFragment无法转换为String)构造函数Intent.Intent(上下文,类)不适用(参数不匹配;MainFragment无法转换为上下文)“检查此项我使用的代码,startActivity(新意图(MainFragment.this,HomeActivity.Class));--更多错误