我创建一个简单的库项目只包含的Java classes.There的应该是它没有任何活动的参与 我跟着教程Facebook的开发者网页。 https://developers.facebook.com/docs/android/
根据我试图执行它在我的Java类,如
Session.openActiveSession(一,真正的,新的Session.StatusCallback()
{
@覆盖
公共无效电话(最后一届会议,最后SessionState会的状态,最终异常除外)
{Log.e(会议,session.getAccessToken());
Log.e(会话状态,session.toString());
如果(session.isOpened())
{
Toast.makeText(C,session.getAccessToken(),Toast.LENGTH_LONG).show();
Log.e(访问令牌,session.getAccessToken());
}
其他
{
Log.e(会议,不开);
}
}
});
现在,当我使用记录器检查会话值,结果是
会话{状态:开幕,access_token = ACCESS_TOKEN_REMOVED}
我的要求是:
在使用简单的Java类只无活动简单的库与本机登录支持 流量是一样,如果一个用户已经登录了Facebook本机应用程序,那么我的图书馆将检索会话访问令牌否则我的网络视图Facebok的将继续 我只需要Facebook的访问令牌 解决方案我以这种方式来实现它。可能这可以帮助你。
//启动Facebook会话
公共无效facebookstart(){
// TODO自动生成方法存根
Session.openActiveSession(这一点,真,新Session.StatusCallback(){
//回调时,会话状态变化
@燮pressWarnings(德precation)
@覆盖
公共无效呼叫(会话的会话,SessionState会的状态,
例外的例外){
如果(session.isOpened()){
Log.e(,
会议详细信息
+会话);
acesstoken = session.getAccessToken();
//使请求/ ME API
Request.executeMeRequestAsync(会话,
新Request.GraphUserCallback(){
//后与用户图形API响应回调
// 目的
@覆盖
公共无效onCompleted(GraphUser用户,
响应响应){
如果(用户!= NULL){
PV =(ProfilePictureView)findViewById(R.id.profilePictureView1);
pv.setProfileId(user.getId());
欢迎=(TextView中)findViewById(R.id.name);
welcome.setText(你好+ user.getName()+\ N++ user.getBirthday()
+)!;
logout.setText(注销);
图像();
}
}
});
}
}
});
}
I am creating a simple library project consisting of only java classes.There should be no activity involvement in it I followed the tutorials in facebook's developers page https://developers.facebook.com/docs/android/
Based on that i tried to implement it on my java class such as
Session.openActiveSession(a,true,new Session.StatusCallback()
{
@Override
public void call(final Session session, final SessionState state, final Exception exception)
{Log.e("Session",session.getAccessToken());
Log.e("Session Status",session.toString());
if(session.isOpened())
{
Toast.makeText(c,session.getAccessToken(),Toast.LENGTH_LONG).show();
Log.e("Access Token",session.getAccessToken());
}
else
{
Log.e("Session","Not Opened");
}
}
});
Now when i check session value using logger,result is
session {state:OPENING,access_token=ACCESS_TOKEN_REMOVED}
My Requirements are :
Simple Library with native login support using simple java classes only No Activity Flow is like if a user is already logged-in facebook native app,then my library will retrieve access token from session else my web view for facebok will continue I need only facebook access token解决方案
i implemented it in this way. May be this helps you.
//starting facebook session
public void facebookstart() {
// TODO Auto-generated method stub
Session.openActiveSession(this, true, new Session.StatusCallback() {
// callback when session changes state
@SuppressWarnings("deprecation")
@Override
public void call(Session session, SessionState state,
Exception exception) {
if (session.isOpened()) {
Log.e("",
"session details"
+ session);
acesstoken=session.getAccessToken();
// make request to the /me API
Request.executeMeRequestAsync(session,
new Request.GraphUserCallback() {
// callback after Graph API response with user
// object
@Override
public void onCompleted(GraphUser user,
Response response) {
if (user != null) {
pv = (ProfilePictureView) findViewById(R.id.profilePictureView1);
pv.setProfileId(user.getId());
welcome = (TextView) findViewById(R.id.name);
welcome.setText("Hi " + user.getName()+"\n"+""+user.getBirthday()
+ "!");
logout.setText("log out");
image();
}
}
});
}
}
});
}