Java 我需要自动调用另一个活动,更不知道在哪里放置代码,facebook登录
对不起,我的英语!需要自动调用另一个活动,更不知道把代码放在哪里,“facebook登录sdk”代码是怎么回事,“startActivity”没有功能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
/** * 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));--更多错误