2017-03-03 11 views
2

我想打電話給意圖在AsyncTaskonPostExecute但我得到一個錯誤,新意圖

這是我的代碼,

protected void onPostExecute(Void aVoid) { 
    if(name.equals("success")){ 
     // tv.setText("berhasil"); 
     // Toast.makeText(mContext, name, Toast.LENGTH_LONG).show(); 
     Intent intent = new Intent(MainActivity.this, SecondActivity.class); 
     getApplicationContext().startActivity(intent); 
    } else { 
     pDialog.setMessage(name); 
     pDialog.show(); 
    } 
    pDialog.dismiss(); 
    super.onPostExecute(aVoid); 
} 

SecondActivity.java

public class SecondActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_second); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
         .setAction("Action", null).show(); 
      } 
     }); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    } 
} 

任何人都可以幫助我解決這個問題?感謝

此錯誤日誌前

D/AndroidRuntime: Shutting down VM 
E/AndroidRuntime: FATAL EXCEPTION: main 
       Process: aws.sample.com.sampleawsconnection, PID: 9959 
       java.lang.NoSuchMethodError: No static method setOnApplyWindowInsetsListener(Landroid/view/View;Landroid/support/v4/view/ViewCompatLollipop$OnApplyWindowInsetsListenerBridge;)V in class Landroid/support/v4/view/ViewCompatLollipop; or its super classes (declaration of 'android.support.v4.view.ViewCompatLollipop' appears in /data/app/aws.sample.com.sampleawsconnection-2/base.apk) 
        at android.support.v4.view.ViewCompat$LollipopViewCompatImpl.setOnApplyWindowInsetsListener(ViewCompat.java:1646) 
        at android.support.v4.view.ViewCompat.setOnApplyWindowInsetsListener(ViewCompat.java:2996) 
        at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:425) 
        at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:312) 
        at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:277) 
        at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
        at aws.sample.com.sampleawsconnection.SecondActivity.onCreate(SecondActivity.java:15) 
        at android.app.Activity.performCreate(Activity.java:6679) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
        at android.app.ActivityThread.-wrap12(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6119) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 
+0

替換此getApplicationContext()。startActivity(intent);與startActivity(intent);並嘗試。如果這不起作用,請嘗試this.startActivity(intent); –

+0

我是試試這個,但仍然錯誤的力量關閉,任何想法? – Bloom

+0

嘗試尼克卡多索的答案 –

回答

0

你不能沒有啓動從應用程序上下文中的活動FLAG_ACTIVITY_NEW_TASK

兩個選擇(1)在你的活動範圍內傳遞給任務(壞,導致泄漏) (2)添加的標誌:

Intent intent = new Intent(MainActivity.this, SecondActivity.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
getApplicationContext().startActivity(intent); 

編輯:我剛纔注意到您可以訪問MainActivity.this這意味着你是一個內部類等等你可以這樣做:

Intent intent = new Intent(MainActivity.this, SecondActivity.class); 
MainActivity.this.startActivity(intent); 

請確保您的gradle這個文件是最新的(你可能需要同步的最新構建工具):

compileSdkVersion 25 
targetSdkVersion to 25 

compile 'com.android.support:appcompat-v7:25.2.0' 
compile 'com.android.support:support-v4:25.2.0' 
+0

我試過這個,但仍然錯誤逼近,任何想法? – Bloom

+0

檢查我列出的gradle線 –

-1

通上下文對象中的AsyncTask和使用的構造函數在postexecute中啓動活動的上下文

0

將較舊的庫更新爲較新的庫。 像

compile 'com.android.support:design:23.1.1' 

compile 'com.android.support:design:24.2.0' 

並更新compileSdkVersion 24,buildToolsVersion到24.0.1,targetSdkVersion至24

希望它能幫助。