FLAG_ACTIVITY_NEW_TASK
如果设置了此标志,这个activity将成为一个新task的历史堆栈中的第一个activity。这个task定义了一个原子组activities,用户可以对其进行移除。各种tasks可以移到前面或者后面;在一个特定的task中,所有的activities总是保持相同的顺序。
在android自动更新的时候,当下载完新版本的时候,安装出现闪退的时候要加
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
自动更新的代码:
void update() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "Test.apk")),
"application/vnd.android.package-archive");
context.startActivity(intent);
}