我期待在我正在制作的小应用程序中出现一种奇怪的行为。
该应用程序包含两个活动。从第一个活动开始,我通过意图启动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>
答案 0 :(得分:0)
如果我是正确的你在第二个Activity中覆盖onBackPressed()
。请不要在评论中添加onBackPressed()
代码并尝试。希望它会有所帮助:)
答案 1 :(得分:0)
如果您想要完成第二项活动并在用户点击您在评论中引用的简单“后退按钮”时离开,请不要拨打onBackPressed()
。请致电finish()
。这将使第二个活动消失,并将用户返回到第一个活动。
您的问题是您从未从堆栈中删除第二个活动,这就是从浏览器返回显示该活动的原因。