我在我的应用程序中使用 facebook sdk 3。我想获取一些用户信息以用于我的应用程序。如果我的设备中安装了 Facebook 应用程序,它会很好用。它要求登录,如果它没有登录并且工作。但我希望即使设备上没有安装 facebook 应用程序,我的应用程序也能正常工作。我该怎么做。我的代码如下。请帮忙
Session.openActiveSession(this, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session, SessionState state,
Exception exception) {
if (session.isOpened()) {
// 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 graphuser,
Response response) {
L
if (graphuser != null) {
GraphObject graphObject = response
.getGraphObject();
Log.i(" facebookLogin Email is ",
"value"
+ graphObject
.getProperty("email"));
User user = getUserDetails(graphObject,
graphuser.getId());
sendFBCredentialsToServer(user);
updateSharedPrefsWithFacebookCredentials(user);
}
}
});
Toast.makeText(getApplicationContext(),
"Pls wait , Fetching data", Toast.LENGTH_LONG)
.show();
}
}
});
最佳答案
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.your.packagename",
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));// g
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
在 onCreate 上添加此代码并从 facebook 获取哈希键并在 facebook 上的应用程序设置中替换此键
关于机器人 : facebook login using facebook sdk 3 with no facebook app installed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15201956/