我从 BroadcastReceiver
开始我的 Activity
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, SipCallActivity.class);
i.putExtra("destination_phone", phoneNumber);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
context.startActivity(i);
}
一段时间后按下按钮完成 Activity :
Button endCall = (Button) findViewById(R.id.call_btn_terminate_call);
endCall.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
endCall(); //SIP related stuff
finish();
}
});
一切都很好,花花公子。但是,当我试图通过按应用程序列表中的图标或通过主页按钮从最近的应用程序列表中打开应用程序中的另一个 Activity 时,我总是得到我刚刚关闭的 Activity - SipCallActivity
。这是为什么?
我想关闭该 Activity ,除非从我的 BroadcastReceiver
调用,否则用户永远不会再看到它。我怎样才能做到这一点?
最佳答案
或者添加标志 FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
根据您的启动 Intent ,或在 list 中使用以下内容将应用从最近的应用中排除:
<activity android:name="<your-activity"
android:excludeFromRecents="true"
...
关于android - 销毁从 BroadcastReceiver 开始的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12554072/