2015-11-10 8 views
18

में फिर से शुरू नहीं होने वाली गतिविधि का स्टॉप निष्पादित करना मैं कई दिनों के लिए एक परियोजना पर काम कर रहा हूं और इसके ठीक काम कर रहा हूं। लेकिन आज मैं एमुलेटर अनुप्रयोग में मेरे ऐप भाग गया, स्प्लैश स्क्रीन मुख्य गतिविधि नहीं जा रहा और इसका एक त्रुटि दिखाने पर रोक दिया गया है: - Performing stop of activity that is not resume और ava.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

हमें अपनी लॉगकट त्रुटि दिखाएं। – TdSoft

+0

मेरा @edited प्रश्न –

उत्तर

18

में के onCreate, यदि इंटरनेट एक्सेस है तो आप displayView(0); पर कॉल करेंगे। displayView में,

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

यहाँ आप MainActivity फिर से शुरू है और इस तरह अनुप्रयोग एक अनंत लूप में फंस जाता है। आखिरकार यह दुर्घटनाग्रस्त हो जाता है।

1

लॉग और यहां लॉग इन करने का प्रयास करें। startActivity(i) के बाद मैं finish(); कभी निष्पादित किया गया है, तो मैं सही कहूंगा। ऐसा लगता है कि आप मुख्य सक्रियताonCreate() विधि में अनंत लूप में आते हैं। onResume()मुख्य गतिविधि कभी नहीं किया जाता है, इसलिए आपको अपवाद मिलता है।

1

हैंडलर से खत्म() को निकालने का प्रयास करें और इसे अपनी स्पलैश गतिविधि के ऑनपॉज़() में कॉल करें।

यह कहा गया कि अगर मैं एक स्पलैश स्क्रीन कर रहा था तो शायद मैं इसे अपने मुख्य स्क्रीन लेआउट का हिस्सा बनाउंगा और फिर इसे किसी निश्चित अवधि के बाद छुपाएं। इस तरह मुझे स्प्लैश गतिविधि की बिल्कुल आवश्यकता नहीं है।

1

नया हैंडलर() ... कोड ब्लॉक ऑनक्रेट() विधि को डालने का प्रयास करें।

+0

क्या यह समस्या की सेवा करता है? – manetsus

+0

हां, @ अरुण कुमार का जवाब देखें, वही विचार :) – Donkie

1

कदम onCreate() करने से onResume() इस कोड:

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

ले जाएँ पद देरी onCreate में बुला()। फिनिश() को कॉल करने से पहले चेक isResumed() जोड़ें;

1

अपने onResume() 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

स्पलैश सही है। समस्या मेमोरी है।

एप्लिकेशन इंटरनेट है, तो हमेशा displayView(0); प्रकार MainActivity

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

का एक और गतिविधि के इरादे पाशन जब तक आप

enter image description here

समस्या को हल करने स्मृति से बाहर निकलने खुलती कहता है, बंद करो एक ही गतिविधि बुलाओ।

संबंधित मुद्दे