Facebook etkinliğini başarıyla başlattığımda iki etkinliğim var. Otomatik açık etkinlik 2 olacak ve veri ve resim transfer edecek. Ama işe yaramıyor. Lütfen bana yardım et! Sorun, başka bir etkinlik hakkını nasıl çağırmanız gerektiği ve yetkilendirildikten sonra verileri aktarmanın facebook butonuyla başarılı olması. Başka yazılar okuyorum ama bana yardımcı olan bir çözüm yok.Giriş facebook başarısı ne zaman etkinlik açılır?
Etkinlik
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
setContentView(R.layout.activity_main);
callbackManager = CallbackManager.Factory.create();
login = (LoginButton)findViewById(R.id.login_button);
profile = (ProfilePictureView)findViewById(R.id.picture);
shareDialog = new ShareDialog(this);
share = (Button)findViewById(R.id.share);
details = (Button)findViewById(R.id.details);
login.setReadPermissions("public_profile email");
share.setVisibility(View.INVISIBLE);
details.setVisibility(View.INVISIBLE);
details_dialog = new Dialog(this);
details_dialog.setContentView(R.layout.dialog_details);
details_dialog.setTitle("Details");
details_txt = (TextView)details_dialog.findViewById(R.id.details);
email = (TextView) findViewById(R.id.email);
details.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
details_dialog.show();
}
});
if(AccessToken.getCurrentAccessToken() != null){
RequestData();
share.setVisibility(View.VISIBLE);
details.setVisibility(View.VISIBLE);
}
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(AccessToken.getCurrentAccessToken() != null) {
share.setVisibility(View.INVISIBLE);
details.setVisibility(View.INVISIBLE);
// profile.setProfileId(null);
// email.setText("");
}
}
});
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken,
AccessToken currentAccessToken) {
if (currentAccessToken == null) {
//write your code here what to do when user logout
profile.setProfileId(null);
email.setText("");
}
}
};
share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ShareLinkContent content = new ShareLinkContent.Builder().build();
shareDialog.show(content);
}
});
login.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
if(AccessToken.getCurrentAccessToken() != null){
RequestData();
share.setVisibility(View.VISIBLE);
details.setVisibility(View.VISIBLE);
}
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
Log.e(TAG, "onError: " + error.getMessage());
}
});
}
public void RequestData(){
GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
JSONObject json = response.getJSONObject();
try {
if (json != null) {
String text = "<b>Name :</b> " + json.getString("name") + "<br><br><b>Email :</b> " + json.getString("email") + "<br><br><b>Profile link :</b> " + json.getString("link");
details_txt.setText(Html.fromHtml(text));
profile.setProfileId(json.getString("id"));
email.setText(json.getString("email"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,link,email,picture");
request.setParameters(parameters);
request.executeAsync();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
String emails=email.getText().toString();
intent.putExtra("emails", emails);
intent.putExtra("BitmapImage", profile);
startActivity(intent);
}
}
activiti2
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
username = (TextView) findViewById(R.id.textView);
imageView = (ImageView) findViewById(R.id.imageView);
String value=getIntent().getStringExtra("emails");
username.setText(value);
}
Teşekkürler, çalışıyor, ama 2 aktivite arasında bana çözüm transfer resmi verebilir misiniz? –
bitmap'i etkinlik arasında transfer edebilir, çünkü parcable nesnesidir, böylece görüntünüzü bitmap'e dönüştürebilir ve aktiviteyle aktarabilirsiniz. – KDeogharkar
Eğer bu yararlı @tonyHoang. Cevabımı kabul et. – KDeogharkar