我创建了一个Android应用程序,因为我想从它重定向Facebook登录屏幕。
如何使它成为可能?
答案 0 :(得分:0)
这是我的facebook课程,它的工作非常好。试试吧,你会从Simple Facebook学到很多东西。不要考虑下面的一些不寻常的代码。
public class IjoomerFacebookSharingActivity extends Activity {
private SimpleFacebook simpleFacebook;
private SimpleFacebookConfiguration.Builder simpleFacebookConfigurationBuilder;
private SimpleFacebookConfiguration simpleFacebookConfiguration;
private String IN_MESSAGE;
private String IN_CAPTION;
private String IN_NAME;
private String IN_PICTURE;
private String IN_LINK;
private String IN_DESCRIPTION;
@Override
public String[] setTabItemNames() {
return new String[0];
}
@Override
public int setTabBarDividerResId() {
return 0;
}
@Override
public int setTabItemLayoutId() {
return 0;
}
@Override
public int[] setTabItemOnDrawables() {
return new int[0];
}
@Override
public int[] setTabItemOffDrawables() {
return new int[0];
}
@Override
public int[] setTabItemPressDrawables() {
return new int[0];
}
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
}
@Override
public int setLayoutId() {
return R.layout.facebook_main;
}
@Override
public View setLayoutView() {
return null;
}
@Override
public int setHeaderLayoutId() {
return 0;
}
@Override
public int setFooterLayoutId() {
return 0;
}
@Override
public void initComponents() {
simpleFacebook = SimpleFacebook.getInstance(this);
simpleFacebookConfigurationBuilder = new SimpleFacebookConfiguration.Builder();
simpleFacebookConfigurationBuilder.setAppId(getString(R.string.facebook_app_id));
simpleFacebookConfigurationBuilder.setPermissions(new Permissions[]{Permissions.PUBLISH_ACTION,Permissions.PUBLISH_STREAM,Permissions.EMAIL,Permissions.BASIC_INFO,Permissions.USER_PHOTOS});
simpleFacebookConfiguration = simpleFacebookConfigurationBuilder.build();
SimpleFacebook.setConfiguration(simpleFacebookConfiguration);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
simpleFacebook.onActivityResult(this, requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
}
@Override
public void prepareViews() {
getIntentData();
if(simpleFacebook.isLogin()){
publishFeed();
}else{
simpleFacebook.login(new OnLoginListener());
}
}
private void getIntentData(){
IN_MESSAGE = getIntent().getStringExtra("IN_MESSAGE")==null ?"":getIntent().getStringExtra("IN_MESSAGE");
IN_CAPTION = getIntent().getStringExtra("IN_CAPTION")==null ?"":getIntent().getStringExtra("IN_CAPTION");
IN_DESCRIPTION = getIntent().getStringExtra("IN_DESCRIPTION")==null ?"":getIntent().getStringExtra("IN_DESCRIPTION");
IN_NAME = getIntent().getStringExtra("IN_NAME")==null ?"":getIntent().getStringExtra("IN_NAME");
IN_PICTURE = getIntent().getStringExtra("IN_PICTURE")==null ?"":getIntent().getStringExtra("IN_PICTURE");
IN_LINK = getIntent().getStringExtra("IN_LINK")==null ?"":getIntent().getStringExtra("IN_LINK");
}
@Override
public void setActionListeners() {
}
private void publishFeed(){
final Feed feed = new Feed.Builder()
.setMessage(IN_MESSAGE)
.setName(IN_NAME)
.setCaption(IN_CAPTION)
.setDescription(IN_DESCRIPTION)
.setPicture(IN_PICTURE)
.setLink(IN_LINK)
.build();
simpleFacebook.publish(feed, new onPublishListener());
}
class OnLoginListener implements SimpleFacebook.OnLoginListener{
@Override
public void onLogin() {
publishFeed();
}
@Override
public void onNotAcceptingPermissions() {
}
@Override
public void onThinking() {
}
@Override
public void onException(Throwable throwable) {
}
@Override
public void onFail(String reason) {
IjoomerUtilities.getCustomOkDialog(getString(R.string.friend),reason, getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() {
@Override
public void NeutralMethod() {
}
});
}
}
class onPublishListener implements SimpleFacebook.OnPublishListener{
@Override
public void onComplete(String id) {
hideProgressDialog();
IjoomerUtilities.getCustomOkDialog(getString(R.string.friend),getString(R.string.facebook_share_success), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() {
@Override
public void NeutralMethod() {
finish();
}
});
}
@Override
public void onThinking() {
showProgressDialog("Doing Facebook Sharing...",IjoomerFacebookSharingActivity.this,true);
}
@Override
public void onException(Throwable throwable) {
hideProgressDialog();
throwable.printStackTrace();
}
@Override
public void onFail(String reason) {
hideProgressDialog();
IjoomerUtilities.getCustomOkDialog(getString(R.string.friend),reason, getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() {
@Override
public void NeutralMethod() {
}
});
}
}
}