我的应用在用户首次运行应用时显示了注册活动,如下所示:
因此,当用户点击每个屏幕上的按钮时,活动将以完全相同的顺序相互启动.
当用户从活动#2转到#3时,是否可以完全从历史堆栈中删除#1和#2?我喜欢它,以便如果用户在#3,并点击后退按钮,他们只是转到主屏幕,而不是回到启动画面.
我想我可以用任务来完成这个任务(即在#3上开始一个新任务)但是想看看是否有更简单的方法,
谢谢
当我点击我的个人资料活动中的退出按钮时,我想将用户带到登录页面,他需要使用新的凭据.
因此我使用了这段代码:
Intent intent = new Intent(ProfileActivity.this,
LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
在" onButtonClick
注销"按钮中.
但问题是,当我点击登录活动上的设备后退按钮时,它会将我带到ProfileActivity.当我按下LoginActivity上的设备后退按钮时,我希望应用程序关闭.
我究竟做错了什么?
我还在LoginActivityandroid:launchMode="singleTop"
的清单中添加了
谢谢
我想完成另一项活动的一项活动,例如:
在活动[A]中,单击按钮时,我调用活动[B]而不完成活动[A].
现在在Activity [B]中,有两个按钮,New和Modify.当用户点击修改然后从堆栈中弹出活动[A]并勾选所有选项.
但是当用户单击Activity [B]中的New按钮时,我将不得不从堆栈中完成Activity [A]并再次将Activity [A]重新加载到堆栈中.
我正在尝试,但我无法从堆栈中完成活动[A] ......我怎么能这样做?
我使用的代码如下:
来自活动[A]:
Intent GotoB = new Intent(A.this,B.class);
startActivityForResult(GotoB,1);
Run Code Online (Sandbox Code Playgroud)
同一活动中的另一种方法
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 1)
{
if (resultCode == 1) {
Intent i = getIntent();
overridePendingTransition(0, 0);
i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
在活动[B]中,点击按钮:
setResult(1);
finish();
Run Code Online (Sandbox Code Playgroud) 我有一个具有多个页面的应用程序,即多个活动,其中一些仍处于打开状态.
有没有办法一次关闭所有活动?
我谷歌它,但即使我在下面运行此代码它没有完成其他活动.
ButtonClick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
LoginManager.getInstance().ctrl = false;
UserManager.getInstance().loginControl();
OrderManager.getInstance().orderCtrl = false;
Intent intent = new Intent(OrderComplete.this,
MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
finish();
}
});
}
Run Code Online (Sandbox Code Playgroud) 我想在进入新活动之前关闭堆栈中的所有活动.
这是我的代码
Intent i=new Intent(first.this,secondsct.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
//i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
//i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
finish();
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我之前尝试过这个但现在没有.我不知道为什么.任何人都可以知道可能是什么原因.
这就是场景
Activity A
- > Activity B
- > Activity C
- > Activity D
(我想在Activity D
启动 后销毁活动A,B和C.
有什么想法吗?
情况可能就像说,我有 5 个活动。说主要活动、活动 1、活动 2、活动 3 和活动 4。
可以借助插入在主活动布局上的按钮直接使用活动 1、2、3 和 4。
情况:用户进入主活动,按下一个按钮进入活动2。然后他回按回到主活动。从那里他现在在另一个按钮的帮助下进入活动 3,同样,当他按下后退按钮时,他进入主活动。
主要活动 --> 活动 2 --> 主要活动 --> 活动 3 --> 主要活动。
问题:现在当用户从活动 3 进入主活动时。用户在主活动布局上。现在,如果用户按下手机上的后退按钮,则退出应用程序将执行以下过程:
主要活动 --> 活动 3 --> 主要活动 --> 活动 2 --> 主要活动 --> 退出
需要完成:我想从主活动本身退出应用程序,如果用户按下手机上的后退按钮,那么我希望用户应该能够退出而不是按照上述路径退出应用程序它通过显示一个简单的 AlertDialog 框从 Main Activity 本身中获取。
这怎么可能,因为我无法找到解决此问题的方法?
android android-layout android-sdk-tools android-event android-studio
可能重复:
android - 退出应用程序代码
我找到了退出Android应用程序到主屏幕(Android手机)的方法.
我的代码不是完全退出应用程序,而是转向应用程序的根活动.
//Expression
Button exit = (Button) findViewById(R.id.exit);
exit.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
finish();
System.exit(0);
}
});
Run Code Online (Sandbox Code Playgroud)
你能告诉我如何退出应用程序并转到Android手机的主屏幕吗?
问候,