Java onPostExecute()之后未启动新意图
这是一个用于执行后台活动的java文件,在onPostExecute()中,我添加了一个开始的意图,但它不起作用,这个后台类只是一个java文件,而不是任何活动的java文件Java onPostExecute()之后未启动新意图,java,android,android-intent,android-asynctask,Java,Android,Android Intent,Android Asynctask,这是一个用于执行后台活动的java文件,在onPostExecute()中,我添加了一个开始的意图,但它不起作用,这个后台类只是一个java文件,而不是任何活动的java文件 public class background extends AsyncTask<String,Void,String> { private ProgressDialog dialog; private ConnectivityManager cm; String jsonurl,
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();
}
}
公共类后台扩展异步任务{
私人对话;
私有连接管理器cm;
字符串jsonurl,jsonstring;
移动表单;
私人语境;
背景(上下文ctx){
this.context=context.getApplicationContext();
this.cm=(ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY\u服务);
this.dialog=newprogressdialog(ctx);
mform=新的移动表单();
}
@凌驾
受保护的void onProgressUpdate(void…值){
super.onProgressUpdate(值);
}
@凌驾
受保护的void onPostExecute(字符串结果){
新意图(上下文,移动形式类);
NetworkInfo activeNetwork=cm.getActiveNetworkInfo();
布尔值isConnected=activeNetwork!=null&&activeNetwork.isConnectedOrConnecting();
如果(未连接){
if(dialog.isShowing())
dialog.dismise();
}
}
您可以按照下面所示的方法来解决您的问题
公共类后台任务{
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();
没有变化,但仍显示不幸的是,应用程序已停止工作
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();