1

私はから活動を始めました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です。どうすればそれを達成できますか?

4

2 に答える 2

2

起動インテントにフラグFLAG_ACTIVITY_EXCLUDE_FROM_RECENTSを追加するか、マニフェストで以下を使用して、アプリを最近のものから除外します。

<activity android:name="<your-activity"android:excludeFromRecents="true"...

于 2012-09-23T16:41:37.317 に答える
1

mainactivityを呼び出すフラグをインテントに追加する必要があります

i.addFlags(intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS| Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET |Intent.FLAG_ACTIVITY_NEW_TASK);

また

メインフェストファイル内::

<activity android:name=".SipCallActivity" android:excludeFromRecents="true">
于 2012-09-23T16:57:41.870 に答える