android - 2 广播接收器后的主要 Activity

标签 android android-activity

我的应用程序应该在广播接收器操作后打开。但是如果我的应用程序在当前打开,我需要删除以前的 MainActivity 并创建一个新的 MainActivity。如果 Activity 之前启动,如何从广播接收器启动 MainActivity 并删除以前的 MainActivity?

广播:

Intent initialIntent = context.getPackageManager().getLaunchIntentForPackage("com.cc.dd");
    initialIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
    initialIntent.putExtra(Constants.NUMBER,getIncomingNumber(mCallState));
    context.startActivity(initialIntent);

我尝试使用标志,但我有奇怪的日志:

D/CallReceiver: main: [RINGING]
D/CallReceiver: main: [Incoming call true]
D/MainActivity: main: [ON_PAUSE]
D/MainActivity: main: [ON_CREATE]
D/MainActivity: main: [ON_START]
D/MainActivity: main: [ON_RESUME]

我看到 MainActivity 以前的版本转到 onPause,新版本开始。为什么以前的版本不删除?

最佳答案

如果你想结束一个 Activity 的生命周期,你需要调用 finish() 。以下代码将简单地重新启动当前 Activity :

Intent intent = getIntent();
finish();
startActivity(intent);

Intent intent = new Intent(YourActivity.this,YourActivity.class);
startActivity(intent);
finish();

引用资料:

关于android - 2 广播接收器后的主要 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37938498/

相关文章:

android - 在没有单选按钮的 Jetpack Compose 中创建切换按钮组

java - 根据当前位置Android从最近到最远对Java中的列表进行排序

java - Android、泛型和继承

android - Eclipse 加载单独的 Activity 而不是应用程序

android - 浏览多个 Activity

android - 来自 IntentService 的通知

android - 列出 fragment 中的 Activity

java - Android应用程序开发中录音后无法保存音频文件

android - 如何使用 setcontent 通过按钮更改内容 View

java - 为什么这个抽屉导航打不开?