1

我想制作用户注册系统。我正在使用 Facebook SDK,我可以将我的数据库来自的用户信息发送到 Facebook 并成功注册。但我想在此之后展示不同的片段活动。

如果用户在 Facebook 上访问我的应用程序,我将向用户发送数据异步类(不同的类不是内部类)

在我的服务器返回 Json 数据时的摘要中,我想关闭 MainFragmentActivity 类并打开 StartFragmentActivity

我无法在带有 Intent 的 onPostExecute 函数中做到这一点。我该怎么做 ?

感谢您的帮助,我很抱歉我的英语不好

private void makeRequest(final Session session){
    Log.d("deneme","makeRequest ÇALIŞIYOR");
    Request request = Request.newMeRequest(session, new Request.GraphUserCallback() {

        @Override
        public void onCompleted(GraphUser user, Response response) {
            if(session == Session.getActiveSession()){

                if(user != null){
                    new MyAsyncTask(getActivity(), "ssoLR", user.getName(),
                            user.getId(), user.getProperty("email")
                                    .toString());
                }
            }
        }
    });
    request.executeAsync();
}

我的 AsyncTask 类是这样的,

public class MyAsyncTask extends AsyncTask<String, Integer, Double> {

public MyAsyncTask(FragmentActivity a, String tag, String username, String password, String email){

    this.mMain = a;
    this.tag = tag;
    this.username = username;
    this.password = password;
    this.email = email;

    execute(tag, username, password, email);

}

@Override
protected Double doInBackground(String... params) {
    if(tag.equals("ssoLR")){
        postData(params[0], params[1], params[2], params[3]);
    }
    return null;
}

public void postData(String tag, String username, String password, String email) {
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://<my website");

    try {
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(new BasicNameValuePair("tag", tag));
        nameValuePairs.add(new BasicNameValuePair("name", username));
        nameValuePairs.add(new BasicNameValuePair("password", password));
        nameValuePairs.add(new BasicNameValuePair("email", email));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        response = httpclient.execute(httppost);
        } catch (ClientProtocolException e) {

    } catch (IOException e) {

    }
}
protected void onPostExecute(Double result){
    try {
        InputStream inputStream = response.getEntity().getContent();
        InputStreamReader inputstreamreader = new InputStreamReader(inputStream);
        BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
        stringbuilder = new StringBuilder();
        String buffer = null;
        while((buffer = bufferedreader.readLine()) != null){
            stringbuilder.append(buffer);
        }
    } catch (IllegalStateException e) {

    } catch (IOException e) {

    }
}

protected void onProgressUpdate(Integer... progress){

}

HttpResponse response;
StringBuilder stringbuilder;
private String tag, username, password, email;
}
4

0 回答 0