现在我正在通过facebook登录。为此我使用android sdk 3.0。在我的应用程序中,我必须获得用户电子邮件ID。我使用以下代码来获取电子邮件ID,但我无法得到。你能给我任何建议我做错了吗?每次我要去别的地方。
loginButton = (LoginButton) findViewById(R.id.authButton);
// for error on login
loginButton.setOnErrorListener(new OnErrorListener() {
public void onError(FacebookException error) {
Log.i(TAG, "Error " + error.getMessage());
}
});
// loginButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);
// set permission list, Don't forget to add email
loginButton.setReadPermissions(Arrays.asList("basic_info", "email"));
// session state call back event
loginButton.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.d(TAG, "User ID " + user.getId());
Log.d(TAG,
"Email "
+ user.asMap().get(
"email"));
}
}
});
} else {
Log.d("session is not valid", ""
+ Session.getActiveSession().getState());
}
}
});
答案 0 :(得分:0)
您可以使用它来获取密钥
PackageInfo info = getPackageManager().getPackageInfo(
"Your Pakage name",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
密钥将显示在日志中。
另一件事(基于您的评论)是您应该尝试SVN,以便您的团队可以在没有任何冲突的情况下处理同一个项目