2014-01-25 23 views
0

我正在學習android,並且我導入了Android SDK3.0,並作爲以下Andorid項目的庫包含在內。Android FACEBOOK SDK3.0 - 登錄正在工作,但是如何在APP登錄後發佈自動消息

我使用的代碼:http://www.kpbird.com/2013/03/android-login-using-facebook-sdk-30.html

請讓我知道我可以從我的應用程序直接登錄一次發佈消息。 (基本上我想分享我的應用程序在Facebook的結果)

我需要登錄,並在該應用程序後的結果

Java代碼:

package com.kpbird.facebooktest; 

import java.util.Arrays; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.TextView; 

import com.facebook.FacebookException; 
import com.facebook.Request; 
import com.facebook.Response; 
import com.facebook.Session; 
import com.facebook.SessionState; 
import com.facebook.model.GraphUser; 
import com.facebook.widget.LoginButton; 
import com.facebook.widget.LoginButton.OnErrorListener; 

public class MainActivity extends Activity { 

private String TAG = "MainActivity"; 
private TextView lblEmail; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    lblEmail = (TextView) findViewById(R.id.lblEmail); 

    LoginButton authButton = (LoginButton) findViewById(R.id.authButton); 
    authButton.setOnErrorListener(new OnErrorListener() { 

    @Override 
    public void onError(FacebookException error) { 
    Log.i(TAG, "Error " + error.getMessage()); 
    } 
    }); 
    // set permission list, Don't foeget to add email 
    authButton.setReadPermissions(Arrays.asList("basic_info","email")); 
    // session state call back event 
    authButton.setSessionStatusCallback(new Session.StatusCallback() { 

    @Override 
    public void call(Session session, SessionState state, Exception exception) { 

    if (session.isOpened()) { 
       Log.i(TAG,"Access Token"+ session.getAccessToken()); 
       Request.executeMeRequestAsync(session, 
         new Request.GraphUserCallback() { 
          @Override 
          public void onCompleted(GraphUser user,Response response) { 
           if (user != null) { 
           Log.i(TAG,"User ID "+ user.getId()); 
           Log.i(TAG,"Email "+ user.asMap().get("email")); 
           lblEmail.setText(user.asMap().get("email").toString()); 
           } 
          } 
         }); 
      } 

    } 
    }); 
} 

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

} 

回答

0

你問的讀取權限用戶。但是你沒有要求發佈權限。如果你想分享,你需要問問發佈權限並閱讀Facebook的用戶詳細信息,那麼你必須使用讀取權限

+0

是否可以共享示例 – user3127462

相關問題