由于部分原因,今天研究了一下在activity里面重复调用本activity。记录一下分析的过程和接口。
UI上添加一个button,点击button重新启动本activity。code如下:
Intent intent = new Intent();
intent.setClassName("com.shift.teststartactivity", "com.shift.teststartactivity.MyActivity");
startActivity(intent);
intent.setClassName("com.shift.teststartactivity", "com.shift.teststartactivity.MyActivity");
startActivity(intent);
正常从外界启动activity的过程是onCreate()---->onStart()------>onResume().
点击button的时候响应过程是onPause()------>onCreate()------->onStart()------->onResume()-------->onStop().
如果将点击button响应的code改成:
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setClassName("com.shift.teststartactivity", "com.shift.teststartactivity.MyActivity");
startActivity(intent);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setClassName("com.shift.teststartactivity", "com.shift.teststartactivity.MyActivity");
startActivity(intent);
正常从外界启动activity的过程一样。
点击button的时候响应过程是onPause()------->onNewIntent()--------->onResume().