我想制作用户注册系统。我正在使用 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;
}