我从BroadcastReceiver
@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);
}
按一下按钮完成一段时间的活动后:
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();
}
});
一切都很好,花花公子。但是,当我尝试通过按应用程序列表中的图标或通过主页按钮从最近的应用程序列表中打开应用程序中的另一个活动时,我总是得到我刚关闭的活动 - SipCallActivity
。那是为什么?
我想关闭该活动,除非从我的BroadcastReceiver
调用,否则用户永远不会再看到它。我怎么能做到这一点?
答案 0 :(得分:2)
将标记FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
添加到您的启动意图中,或使用清单中的以下内容将该应用排除在最近:
<activity android:name="<your-activity"
android:excludeFromRecents="true"
...
答案 1 :(得分:1)
i.addFlags(intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS| Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET |Intent.FLAG_ACTIVITY_NEW_TASK);
在Mainfest File ::
中<activity android:name=".SipCallActivity" android:excludeFromRecents="true">