Ich bin eine App, wo Benutzer zuerst über Facebook einloggen, dann geht es zu einer anderen Karte Aktivität.Wenn ich meine App neu starten zeigt es Logout-Taste nicht einloggen oder einfach zu gehen eine weitere Aktivität plus ich möchte E-Mails meiner Kunden speichern. hier ist mein Code -Android speichern Gemeinsame Präferenz und erhalten E-Mail von Benutzer Facebook Login sdk 4
public class MainActivity extends AppCompatActivity {
private TextView info;
private LoginButton loginButton;
private CallbackManager callbackManager;
SharedPreferences sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
setContentView(R.layout.activity_main);
sp = getPreferences(MODE_PRIVATE);
String access_token = sp.getString("access_token",null);
long expires = sp.getLong("access_expires",0);
if (access_token != null){
}
info = (TextView) findViewById(R.id.info);
loginButton = (LoginButton) findViewById(R.id.login_button);
List<String> permissionNeeds = Arrays.asList("email", "user_birthday", "public_profile");
loginButton.setReadPermissions(permissionNeeds);
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
String token = loginResult.getAccessToken().getToken();
Log.d("LOGIN_SUCCESS", "Success");
loginButton.setVisibility(View.INVISIBLE); //<- IMPORTANT
Intent intent = new Intent(MainActivity.this,MapsActivity.class);
startActivity(intent);
finish();//<- IMPORTANT
}
@Override
public void onCancel() {
info.setText("Login attempt Canceled");
}
@Override
public void onError(FacebookException error) {
info.setText("Login attempt failed");
}
});
AccessTokenTracker accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(
AccessToken oldAccessToken,
AccessToken currentAccessToken) {
// Set the access token using `q
// currentAccessToken when it's loaded or set.
}
};
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode,resultCode,data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
public void imageView (View v) {
ImageView img = (ImageView) findViewById(R.id.loofreLogo);
if (img != null) {
img.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse("http://www.loofre.com"));
startActivity(intent);
}
});
}
}
public void InsOnclick(View args0) {
if (args0.getId()==R.id.Bins){
Intent intent = new Intent(this,instructionSlide.class);
this.startActivity(intent);
}
}
public void AboutUs (View args1){
if (args1.getId()==R.id.Babout){
Intent intent = new Intent(this,AboutUs.class);
this.startActivity(intent);
}
}
}
Haben Sie versucht, gemeinsame Einstellungen zu verwenden, um Daten zu speichern? –
@BhaveshMisri Sir ich weiß nicht, wie das geht ... probierte einige Tutorial von youtube und stackoverflow, aber nicht in der Lage, es zu verstehen ... Also muss ich eine andere Aktivität erstellen? für Login ich nur diese Aktivität –