![](/img/trans.png)
[英]java.lang.RuntimeException: Performing stop of activity that is not resumed:
[英]java.lang.RuntimeException: Performing stop of activity that is not resumed in android
我正在做一個項目好幾天,工作正常。 但今天我在模擬器應用程序中運行我的應用程序,暫停在啟動畫面上不進行主要活動並且顯示錯誤: - Performing stop of activity that is not resume
ava.lang.RuntimeException: Performing stop of activity that is not resumed
和ava.lang.RuntimeException: Performing stop of activity that is not resumed
我的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);
}
}
}
在MainActivity
onCreate
中,如果有互聯網訪問,你將調用displayView(0);
。 在displayView
,
case 0:
Intent intentHome = new Intent(MainActivity.this,MainActivity.class);
startActivity(intentHome);
break;
在這里,您再次啟動MainActivity
,因此應用程序陷入無限循環。 最終它崩潰了。
嘗試從處理程序中取出finish()並在Splash Activity的onPause()中調用它。
也就是說,如果我正在進行啟動畫面,我可能會將其作為主屏幕布局的一部分,然后在一段時間后隱藏它。 這樣我根本不需要啟動活動。
將此代碼從onResume()
移動到onCreate()
:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent i = new Intent(SplashScreen.this, MainActivity.class);
startActivity(i);
finish();
}
}, SPLASH_TIME_OUT);
嘗試將日志放在此處。 我會在startActivity(i)
立即查看是否finish();
永遠執行。 看來你在MainActivity onCreate()
方法中進入了無限循環。 MainActivity的onResume()
永遠不會完成,所以你得到一個例外。
嘗試將新的Handler()...代碼塊放在onCreate()方法中。
將后延遲調用移動到onCreate()。 在調用finish()之前添加check isResumed();
將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);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.