这两种方法都有效,但我不确定哪种方法最适合使用,以便它每次都适用于API 17-25。我的应用程序依赖于通过PhoneStateListener调用结束后打开的活动。
我已经看过推荐的两种方式,抱歉,如果这是一个糟糕的问题!
Intent restart = mContext.getPackageManager().
getLaunchIntentForPackage(mContext.getPackageName());
restart.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
restart.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(restart);
或
Intent intent = new Intent(mContext, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
mContext.startActivity(intent);
答案 0 :(得分:2)
您应该使用Activity类的recreate()方法重新启动Activity而不是这2个方法