1

私が現在取り組んでいる小さなアプリでは、かなり奇妙な動作が予想されます。

アプリは 2 つのアクティビティで構成されます。最初のアクティビティから、インテントを介して webbbrowser を起動しています。ブラウザで戻るキーを押すと、アプリを起動する前に手動で閉じた場合でも、SECOND アクティビティに戻ります。

1) 最初の活動

final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mWebShopURL));
startActivity(intent);

最初のアクティビティは、このように 2 番目のアクティビティを起動します

Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
Bundle b = new Bundle();
b.putString("product", mProduct);
intent.putExtras(b);
startActivity(intent);

2) 2 番目のアクティビティ -> 最初のアクティビティ

onBackPressed();

Androidマニフェスト

    <activity
        android:name=".FirstActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
     <activity
        android:name=".SecondActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
4

2 に答える 2

0

コメントで参照している単純な「戻るボタン」をユーザーがタップしたときに2番目のアクティビティを完了して終了させたい場合は、を呼び出さないでくださいonBackPressed()。お電話くださいfinish()。これにより、2番目のアクティビティがなくなり、ユーザーは最初のアクティビティに戻ります。

問題は、スタックから2番目のアクティビティを削除したことがないことです。そのため、ブラウザから戻ると、そのアクティビティが表示されます。

于 2012-06-13T10:27:44.367 に答える
0

私が正しければonBackPressed()、2番目のアクティビティでオーバーライドしていますonBackPressed()。コードをコメントに入れて試してはいけません。それが役立つことを願っています:)

于 2012-06-13T09:58:47.147 に答える