2

フラグメントFがあります。サービスから結果を取得した後、Fはそのアクティビティを終了し、インテントを使用してWebブラウザーでページを起動する必要があります。

ユーザーが戻るボタンを押すと、正常に機能しているように見えます。ただし、最近のアプリからアプリを起動した場合、アクティビティは終了していません。私はそれをする他の方法について考えました。現在のアクティビティを終了し、親アクティビティからページを開くようなものです。ただし、フローに多くの変更を加える必要があります。それが私の最後の選択肢です。最近のアプリから起動してもアクティビティが終了することを確認する方法はありますか?

Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
getActivity().finish();

編集:コードを追加しました。

4

2 に答える 2

6

ブラウザを起動するためにこのコードを試して、アプリケーションのすべてのスタックをクリアしてください

Intent intent  = new Intent(); // need to set your Intent View here
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);        
getActivity().startActivity(intent);
getActivity().finish();

更新しました

AndroidManizest.xmlファイルのアクティビティでこの属性を試してください

<activity android:name=".MainActivity"
        android:excludeFromRecents="true" ...
于 2013-01-15T06:50:05.557 に答える
1

次のコードを使用します

Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(intent);

this.finish();
于 2013-01-15T11:07:56.417 に答える