我有一个程序.第一个活动是启动画面,第二个是登录,第三个是列表视图菜单活动,然后是其他2个活动.启动画面在3秒后消失,如果登录复选框记住我,则会直接进入菜单页面.
我覆盖onBackPressed
菜单活动中的功能,以便在用户从菜单中单击后直接退出程序.但是,如果我经历了其他活动,它就不会退出; 它会转到堆栈中的上一个活动,并且对话框不会弹出,虽然它实际上确实会出现一秒钟并且立即消失.
这是我的 onBackPressed
功能
public void onBackPressed() {
// super.onBackPressed();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you Sure want to close the Application..?")
.setCancelable(false)
.setTitle("EXIT")
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
})
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
}
});
AlertDialog alert = builder.create();
alert.show();
//super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud) 我使用以下代码打开一个活动作为弹出窗口使用
<activity android:name=".RadioButtonExample"
android:theme="@android:style/Theme.Dialog"
android:excludeFromRecents="true"/>
Run Code Online (Sandbox Code Playgroud)
但是excludeFromRecents
没有用.如果用户单击后退按钮,则在检索主菜单时会显示弹出窗口.
在我的Android应用程序中,我有以下要求.
活动A - >活动B(转到A选项) - >活动C(转到A选项,转到B选项)
1)从活动B转到活动A我使用了onBackPressed()
方法.
2)从活动C转到活动B我onBackPressed()
再次使用了方法.
那些工作正常.
3)现在我想从Activity C转到Activity A(没有Intent调用).
我怎样才能做到这一点?
编辑1:
活动A是我的主要活动我不希望通过使用Intent来重启活动.我希望从活动c恢复活动A.(就像我通过使用onBackPressed从活动B那样做).
编辑2(有答案):
好,朋友们.谢谢大家在我的问题上给我你的帮助.最后我找到了一个类似于@Paresh Mayani答案的简单答案.
回答:
Intent a = new Intent(getApplicationContext(),ActivityA.class);
a.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(a);
Run Code Online (Sandbox Code Playgroud)
通过使用解决我的问题的链接,我得到了这个很好的解决方案.再次感谢大家,我真的很感激.