浏览器上的android后退键不会启动上一个活动

时间:2012-06-13 09:46:31

标签: android browser android-activity android-intent

我期待在我正在制作的小应用程序中出现一种奇怪的行为。

该应用程序包含两个活动。从第一个活动开始,我通过意图启动webbbrowser。当我在浏览器中按后退键时,即使我在启动之前手动关闭了应用程序,它也会返回到SECOND活动。

1)第一项活动

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

First Activity启动第二项活动

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

2)第二活动 - >第一项活动

onBackPressed();

AndroidManifest

    <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>

2 个答案:

答案 0 :(得分:0)

如果我是正确的你在第二个Activity中覆盖onBackPressed()。请不要在评论中添加onBackPressed()代码并尝试。希望它会有所帮助:)

答案 1 :(得分:0)

如果您想要完成第二项活动并在用户点击您在评论中引用的简单“后退按钮”时离开,请不要拨打onBackPressed()。请致电finish()。这将使第二个活动消失,并将用户返回到第一个活动。

您的问题是您从未从堆栈中删除第二个活动,这就是从浏览器返回显示该活动的原因。