Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java onPostExecute()之后未启动新意图_Java_Android_Android Intent_Android Asynctask - Fatal编程技术网

Java onPostExecute()之后未启动新意图

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,

这是一个用于执行后台活动的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();
            }

        }
公共类后台扩展异步任务{
私人对话;
私有连接管理器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();