2017-03-09 128 views
-2

我尝试了很多事情,使其工作,但它没有帮助。我有一个用户注册活动是首先启动。用户注册运作良好,但onPostExecute我无法开始新的活动。Android AsyncTask onPostExecute开始新的活动崩溃应用程序

我试过这些代码。

Intent intent = new Intent(getApplicationContext(), starting.class); 
startActivity(intent); 
//OR  
Intent intent = new Intent(membership.this, starting.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
ctx.startActivity(intent); 

和我的代码在底部。

 class RegisterUser extends AsyncTask<String, Void, String> { 
     ProgressDialog loading; 
     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      loading = ProgressDialog.show(membership.this, "Lütfen Bekleyiniz!",null, true, true); 
     } 
     @Override 
     protected void onPostExecute(String isDone) { 
      super.onPostExecute(isDone); 
      loading.dismiss(); 
      Toast.makeText(getApplicationContext(),isDone, Toast.LENGTH_LONG).show(); 
      // 
      //CONTROL DATA 
      SharedPreferences.Editor editor = prefs.edit(); 
      editor.putBoolean("USER_CONTROL", true); 
      editor.commit(); 
      // 
      //I start activiy in here. 
     } 
     @Override 
     protected String doInBackground(String... params) { 
      String s = params[0]; 
      BufferedReader bufferedReader = null; 
      try { 
       URL url = new URL(REGISTER_URL+s); 
       HttpURLConnection con = (HttpURLConnection) url.openConnection(); 
       bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream())); 
       String result; 
       result = bufferedReader.readLine(); 
       return result; 


      }catch(Exception e){ 
       return null; 
      } 
     } 
    } 
+1

发布崩溃日志.. – rafsanahmad007

+0

显示java.lang.NullPointerException:尝试在空对象引用调用接口方法“android.content.SharedPreferences $编辑android.content.SharedPreferences.edit()” – user2265473

回答

0

你需要sharedPreferences初始化你onCreate()

public static final String MyPREFERENCES = "MyPrefs"; 

prefs = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); 

问题是你prefs为null

0

尝试。由于共享偏好,您面临崩溃的原因不在于意图。

SharedPreferences sharedPreferences = PreferenceManager 
      .getDefaultSharedPreferences(membership.this); 
    SharedPreferences.Editor editor = sharedPreferences.edit(); 
    editor.putBoolean("USER_CONTROL", true); 
    editor.apply();