0

我制作了一个使用 Facebook 登录的 android 应用程序。我想将用户的 Facebook id 转移到另一个 Activity 类。我使用以下代码来执行此操作

   Bundle bundle = new Bundle();
   bundle.putString("fields", "id");
   AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(facebook);
   asyncRunner.request("me", bundle, new AsyncFacebookRunner.RequestListener() {
        public void onMalformedURLException(MalformedURLException e, Object state) {
            // TODO Auto-generated method stub
        }

        public void onIOException(IOException e, Object state) {
            // TODO Auto-generated method stub
        }

        public void onFileNotFoundException(FileNotFoundException e, Object state) {
            // TODO Auto-generated method stub
        }

        public void onFacebookError(FacebookError e, Object state) {
            // TODO Auto-generated method stub
        }

        public void onComplete(String response, Object state) {
            JSONObject jObject;
            try {
                jObject = new JSONObject(response);
                Log.d("FACEBOOK ID", jObject.getString("id"));

            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }); 

我能够在 try and catch 中获取 Facebook id,但是当我使用此 id 或将其转移到另一个活动时,它会显示并转移“null”。

我应该怎么做才能将 Facebook id 转移到另一个活动课程?请帮忙!!!

提前致谢。

4

3 回答 3

1

将您的 FACEBOOK 用户 ID 保存在Preference中,并在您的应用程序中的任何位置使用它

店铺

String loginId = jObject.getString("id");

SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(context);

p.edit().putString("FB_ID", loginId).commit();

在另一个活动中获取 id

SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(context);
String username = p.getString("FB_ID", "");
于 2013-04-24T09:48:52.250 回答
0

使用附加功能!

对于发送:

int id = 42;
Intent i = new Intent(FromActivity.this, ToActivity.class);
i.putExtra("your_identifient", id);
startActivity(i);

进入你的新活动:

int id = -1;
Bundle extras = getIntent().getExtras();
if (extras.containsKey("your_identifient"))
  id = extras.getInt("your_identifient", -1);
于 2013-04-24T09:54:37.143 回答
0

这是存储 id 的完整代码吗,因为我没有看到赋值语句。即你没有存储你在任何地方收到的“id”的值。你刚刚登录了它。

使用赋值语句,如

String loginId = jObject.getString("id");
于 2013-04-24T09:44:32.657 回答