[英]new intent not getting started after onPostExecute()
这是一个做我的后台活动的Java文件,在onPostExecute()中,我添加了一个启动的意图,但是它不起作用,这个后台类只是一个Java文件,而不是任何活动的Java文件。
public class background extends AsyncTask<String,Void,String> {
private ProgressDialog dialog;
private ConnectivityManager cm;
String jsonurl, jsonstring;
mobile_form mform;
private Context context;
background (Context ctx){
this.context = context.getApplicationContext();
this.cm = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
this.dialog = new ProgressDialog(ctx);
mform = new mobile_form();
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result) {
context.startActivity(new Intent(context, mobile_form.class));
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
if (isConnected) {
if (dialog.isShowing())
dialog.dismiss();
}
}
public class background extends AsyncTask<String,Void,String> {
private ProgressDialog dialog;
private ConnectivityManager cm;
String jsonurl, jsonstring;
mobile_form mform;
private Context context;
public background (Context ctx){
this.context = ctx;
this.cm = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
this.dialog = new ProgressDialog(ctx);
mform = new mobile_form();
}
//...
// doInBackground()
//...
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result) {
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
if (isConnected) {
if (dialog.isShowing())
dialog.dismiss();
}
context.startActivity(new Intent(context, mobile_form.class));
}
要使用此AsynkTask:
new background(getApplicationContext()).execute();
您可以按如下所示操作,以解决您的问题。公共类背景扩展了AsyncTask {
private ProgressDialog dialog;
private ConnectivityManager cm;
String jsonurl, jsonstring;
mobile_form mform;
private mContext context;
public background (Context ctx){
this.mContext = ctx;
this.cm = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
this.dialog = new ProgressDialog(ctx);
mform = new mobile_form();
}
//...
// doInBackground()
//...
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result) {
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
if (isConnected) {
if (dialog.isShowing())
dialog.dismiss();
}
mContext.startActivity(new Intent(mContext, mobile_form.class));
}
将此后台任务称为
new background(this).execute();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.