是否可以通过清除之前的整个历史记录在堆栈上启动一个隐式 Activity ?
我正在创建一个应用程序,它具有从 playsotre 强制升级的概念。 因此我想在某个时刻和同一时刻打开 Play 商店我也想关闭我的应用程序基本上我想在打开 Play 商店后清除我的应用程序的所有 Activity ,但它没有用。
我的代码 fragment :
btnForceUpdate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent goToMarket = new Intent(Intent.ACTION_VIEW)
.setData(Uri.parse("market://details?id=" + context.getPackageName()));
goToMarket.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK); // clearing all activity task (Basically close the app)
mDialog.cancel();
context.startActivity(goToMarket);
}
});
我在 intent 对象中使用了下面的标志,但它没有用
goToMarket.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK); // clearing all activity task (Basically close the app)
最佳答案
try {
final Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName()));
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
finishAffinity();
startActivity(i); //
} catch (final android.content.ActivityNotFoundException ex) {
ex.printStackTrace();
}
或者,如果您希望它在以前的 Android 版本(< 15 API)中工作:
ActivityCompat.finishAffinity(this);
关于android - 关闭当前应用程序的所有 Activity 并启动 Play 商店,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33116771/