2017-03-17 14 views
0

これは、バックグラウンドのアクティビティを実行するJavaファイルです。onPostExecute()では、インテントを追加しましたが、動作しません。このバックグラウンドクラスは、すべての活動新しいインテントがonPostExecute()の後に開始されない

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(); 
      } 

     } 

答えて

0

あなたは、C以下のショーとして行うことができます解決問題 パブリッククラス背景が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(); 
+0

、ありがとうを動作を停止しました示すを拡張 –

1
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を使用するのJavaファイル:

new background(getApplicationContext()).execute(); 
+0

として、このバックグラウンドタスク変更なしのは、まだ残念ながらアプリが私の作品 –

関連する問題