2015-11-10 2 views
18

私は数日間プロジェクトに取り組んでいます。しかし、今日、私はエミュレータアプリで私のアプリを実行した、スプラッシュ画面がメインの活動に行かないとそのエラーを示す上で一時停止している: - Performing stop of activity that is not resumeava.lang.RuntimeException: Performing stop of activity that is not resumedjava.lang.RuntimeException:アンドロイドで再開されないアクティビティの停止を実行する

マイSplashScreen.java:-を

public class SplashScreen extends AppCompatActivity { 

    private static int SPLASH_TIME_OUT = 3000; 
    Boolean flag = false; 
    public static Activity activity_splash; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
       WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(R.layout.splash_screen); 

    } 
    public void onResume(){ 
     super.onResume(); 
     new Handler().postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       Intent i = new Intent(SplashScreen.this, MainActivity.class); 
       startActivity(i); 
       finish(); 
      } 
     }, SPLASH_TIME_OUT); 
    } 

} 

マイLogcat: - で

11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity} 
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: java.lang.RuntimeException: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity} 
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3465) 
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3550) 
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread.-wrap20(ActivityThread.java) 
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373) 
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.os.Handler.dispatchMessage(Handler.java:102) 
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.os.Looper.loop(Looper.java:148) 
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread.main(ActivityThread.java:5417) 
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at java.lang.reflect.Method.invoke(Native Method) 
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity} 
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: java.lang.RuntimeException: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity} 
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3465) 
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3550) 
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread.-wrap20(ActivityThread.java) 
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373) 
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.os.Handler.dispatchMessage(Handler.java:102) 
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.os.Looper.loop(Looper.java:148) 
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread.main(ActivityThread.java:5417) 
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at java.lang.reflect.Method.invoke(Native Method) 
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity} 
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: java.lang.RuntimeException: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity} 
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3465) 
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3550) 
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread.-wrap20(ActivityThread.java) 
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373) 
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.os.Handler.dispatchMessage(Handler.java:102) 
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.os.Looper.loop(Looper.java:148) 
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at android.app.ActivityThread.main(ActivityThread.java:5417) 
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at java.lang.reflect.Method.invoke(Native Method) 
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

MainActivity.java:-

public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener { 

     // flag for Internet connection status 
     Boolean isInternetPresent = false; 

     // Connection detector class 
     ConnectionDetector cd; 

     private static String TAG = MainActivity.class.getSimpleName(); 

     AlertDialogManager alert = new AlertDialogManager(); 

     // Session Manager Class 
     UserSessionManager session; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

      // Session class instance 
      session = new UserSessionManager(getApplicationContext()); 
      Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar); 

      setSupportActionBar(mToolbar); 
      getSupportActionBar().setTitle(null); 
      getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
      getSupportActionBar().setDisplayShowHomeEnabled(true); 

      cd = new ConnectionDetector(getApplicationContext()); 

      isInternetPresent = cd.isConnectingToInternet(); 

      // check for Internet status 
      if (isInternetPresent) { 
       FragmentDrawer drawerFragment = (FragmentDrawer) 
         getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer); 
       drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), mToolbar); 
       drawerFragment.setDrawerListener(this); 

       // display the first navigation drawer view on app launch 
       displayView(0); 
      } 
      else { 

       alert.showAlertDialog(MainActivity.this, "No Internet Connection", 
         "You don't have internet connection.", false); 
      } 

     } 
     @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
      getMenuInflater().inflate(R.menu.menu_main, menu); 
      return true; 
     } 

     @Override 
     public boolean onOptionsItemSelected(MenuItem item) { 
      switch(item.getItemId()){ 
       case R.id.action_search: 
        Intent search = new Intent(MainActivity.this,SearchActivity.class); 
        startActivity(search); 
        return true; 
       case R.id.login: 
        if(session.checkLogin()) 
         finish(); 
        else { 
          Intent intent = new Intent(MainActivity.this,MyAccount.class); 
           startActivity(intent); 
        } 
        return true; 
       case R.id.my_order: 
        alert.showAlertDialog(MainActivity.this,"Alert","This Page Under Maintenance",false); 
        return true; 
       case R.id.wishlist: 
        if(session.checkLogin()){ 
         finish(); 
        } 
        else { 
         Intent wishlistIntent = new Intent(MainActivity.this,WishList.class); 
         startActivity(wishlistIntent); 
        } 

       default: 
        return super.onOptionsItemSelected(item); 
      } 
     } 

     @Override 
     public void onDrawerItemSelected(View view, int position) { 
      displayView(position); 
     } 

     private void displayView(int position) { 
      Fragment fragment = null; 
      String title = getString(R.string.app_name); 
      switch (position) { 
       case 0: 
        /* fragment = new HomeFragment(); 
        title = getString(R.string.title_home);*/ 
        Intent intentHome = new Intent(MainActivity.this,MainActivity.class); 
        startActivity(intentHome); 
        break; 
       case 1: 
        Intent intent = new Intent(MainActivity.this,ShopByCategory.class); 
        startActivity(intent); 

        break; 
       case 2: 

        break; 
       case 3: 
        /* Intent intentTodayDeal = new Intent(MainActivity.this,TodayDeal.class); 
        startActivity(intentTodayDeal);*/ 
        /*Intent intent = new Intent(MainActivity.this,ShopByCategory.class); 
        startActivity(intent);*/ 
        break; 
       case 4: 
        Intent intentTrackYourOrder = new Intent(MainActivity.this,MainActivity.class); 
        startActivity(intentTrackYourOrder); 
        break; 
       case 5: 
        Intent intentLegal = new Intent(MainActivity.this,Legal.class); 
        startActivity(intentLegal); 
        break; 
       case 6: 
        break; 
       case 7: 
        break; 
       case 8: 
        break; 
       case 9: 
        break; 
       default: 
        break; 
      } 

      if (fragment != null) { 
       FragmentManager fragmentManager = getSupportFragmentManager(); 
       FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
       fragmentTransaction.replace(R.id.container_body, fragment); 
       fragmentTransaction.commit(); 

       // set the toolbar title 
       getSupportActionBar().setTitle(null); 
       getSupportActionBar().setLogo(R.drawable.ic_launcher); 
      } 
     } 

    } 
+0

あなたのスプラッシュをスキップするボタンもありますか? –

+0

あなたにlogcatエラーを教えてください。 – TdSoft

+0

私の@edited質問を参照 –

答えて

18

MainActivityonCreate、インターネットアクセスがある場合は、displayView(0);に電話します。 displayViewでは、

case 0: 
    Intent intentHome = new Intent(MainActivity.this,MainActivity.class); 
    startActivity(intentHome); 
    break; 

ここでは、再びMainActivityを開始するので、アプリは無限ループの中に閉じ込めています。最終的にクラッシュします。

1

ここにログを配置してみてください。私はstartActivity(i)の直後に入れてfinish();が実行されたかどうか確認します。 MainActivityonCreate()という方法で無限ループに入っているようです。 onResume()MainActivityは実行されないため、例外が発生します。

1

ハンドラからfinish()を取り出し、SplashアクティビティのonPause()で呼び出してみてください。

私はスプラッシュ画面を行っていたとしたら、それを私のメイン画面レイアウトの一部にして、それから一定の時間が経過した後に隠すように言いました。そうすれば私はスプラッシュ・アクティビティをまったく必要としません。

1

新しいHandler()...コードブロックをonCreate()メソッドに配置してください。

+0

問題に対応していますか? – manetsus

+0

はい、@ Arun kumar、同じ考えの答えを見てください:) – Donkie

1

onResume()onCreate()への移行から、このコードを:のonCreate(への呼び出し

new Handler().postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       Intent i = new Intent(SplashScreen.this, MainActivity.class); 
       startActivity(i); 
       finish(); 
      } 
     }, SPLASH_TIME_OUT); 
1

移動後の遅延)。 finish()を呼び出す前にisResumed()チェックを追加します。

1

は、スプラッシュが正しいONSTART()

public class SplashScreen extends AppCompatActivity { 

private static int SPLASH_TIME_OUT = 3000; 
Boolean flag = false; 
public static Activity activity_splash; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.splash_screen); 

} 
public void onStart(){ 
    super.onResume(); 
    new Handler().postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      Intent i = new Intent(SplashScreen.this, MainActivity.class); 
      startActivity(i); 
      finish(); 
     } 
    }, SPLASH_TIME_OUT); 
} 

} 
3

にあなたのonResume()メソッドの名前を変更します。 問題はメモリです。

アプリが常にインターネットを持っているあなたは

enter image description here

は、問題を解決するために、メモリから抜け出すまで意図をループ型MainActivity

private void displayView(int position) { 
      switch (position) { 
       case 0: 
        Intent intentHome = new Intent(MainActivity.this,MainActivity.class); 
        startActivity(intentHome); 
        break; 

の別のアクティビティを開くdisplayView(0);を呼び出す場合、停止同じ活動を呼び出す。

関連する問題