今天星期六,在家撸代码的好日子,特意写了个demo apk验证下 onNewIntent方法到底何时被调用。
情况一:
// 启动自己
public void startSelf(View view) {
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
}
情况二:
第一步,先在AndroidManifest.xml中声名activity的地方加上 singleTask 属性:
<activity
android:name=".MainActivity"
android:launchMode="singleTask">
第二步,启动时,不设置任何flag,代码如下:
public void startSelf(View view) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
情况三:
第一步,在AndroidManifest.xml 中声名activity的地方加上 singleTop 属性:
<activity
android:name=".MainActivity"
android:launchMode="singleTop">
第二步,启动时不设置任何flag,代码同情况二。
情况四:
第一步,在AndroidManifest.xml 中声名activity的地方加上 singleInstance 属性:
<activity
android:name=".MainActivity"
android:launchMode="singleInstance">
第二步,启动时不设置任何flag,代码同情况二。
扫描二维码关注公众号,回复:
12259720 查看本文章
不知道还有没有其他情况,还请大神留言。