标签: activity-finish

如何显示一个对话框以确认用户是否希望退出Android活动?

我一直试图表现出"你想退出吗?" 用户尝试退出活动时的对话框类型.

但是我找不到合适的API挂钩. Activity.onUserLeaveHint()最初看起来很有希望,但我找不到阻止活动完成的方法.

android activity-finish android-dialog android-activity

269
推荐指数
8
解决办法
27万
查看次数

如何检查活动是在前景还是在可见背景中?

我在计时器上有一个闪屏.我的问题是,在finish()我的活动之前,我需要检查下一个活动是否已经开始,因为系统对话框弹出,我只想finish(); 一旦用户从对话框中选择了一个选项?

我知道有很多关于如何查看您的活动是否在前台的问题,但我不知道这是否允许在活动之上设置对话框.

这是问题,红色是我的活动,它在后台,而对话在前台:

当对话在前景时,红色是我的活动

编辑:我已经尝试过不使用finish()但是我的活动可以回到我试图避免的应用程序堆栈中.

android dialog activity-finish android-activity

98
推荐指数
6
解决办法
18万
查看次数

如何以编程方式在android中按回按钮?

在我的应用程序中,我有一个注销功能.如果用户单击注销,则会转到主屏幕.现在我按退回按钮退出我的应用程序.但我想要的是我需要像后退按钮功能一样自动退出(即以编程方式).我知道通过调用finish()将完成功能.但问题在于之前的活动.

android activity-finish android-activity

76
推荐指数
4
解决办法
11万
查看次数

如何使用按钮像后退按钮关闭当前片段?

我尝试使用Imagebutton关闭当前片段.

我在Fragment-A中,当我点击按钮时它将转向Fragment-B.

当我点击Fragment-B上的按钮时,它将转向Fragment-C并关闭Fragment-B.

如果我单击Fragment-C上的后退按钮,它将返回Fragment-A.

我尝试过的代码如下所示

camera_album = (ImageButton) view.findViewById(R.id.camera_album);

camera_album.setOnClickListener(new Button.OnClickListener() {
    @Override
    public void onClick(View v) {

                    closefragment();
        Fragment fragment = FileBrowserFragment.newInstance(null, null, null) ;
        MainActivity.addFragment(LocalFileBrowserFragment.this, fragment) ;


    }
});

private void closefragment() {
    getActivity().getFragmentManager().beginTransaction().remove(this).commit();
}
Run Code Online (Sandbox Code Playgroud)

当我点击片段B的后退按钮时,它会转到Fragment-C.

但是当我单击Fragment-C上的后退按钮时,它不会返回到Fragment-A.它回到了空背景.如果我想回到Fragment-A,我必须再次单击后退按钮.

所以,似乎并没有完成当前片段的关闭.

如何像Android的后退按钮一样完成当前片段?

android android-fragments activity-finish

75
推荐指数
7
解决办法
18万
查看次数

如何在Android中完成当前活动

我有一个Android应用程序.我正在制作带有进度条的加载屏幕.

我在onCreate方法中输入了一个延迟.当计时器结束时,我想完成当前活动并开始一个新活动.

它只是在调用finish()方法时给我一个例外.

public class LoadingScreen extends Activity{
    private LoadingScreen loadingScreen;
    Intent i = new Intent(this, HomeScreen.class);
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.loading);

        CountDownTimer timer = new CountDownTimer(10000, 1000) //10 second Timer
        {
            public void onTick(long l) 
            {

            }

            @Override
            public void onFinish() 
            {
                loadingScreen.finishActivity(0);
                startActivity(i);
            };
        }.start();
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在进度条完成后更改代码以使其结束?

android activity-finish

72
推荐指数
6
解决办法
22万
查看次数

一次完成所有活动

我有一个具有多个页面的应用程序,即多个活动,其中一些仍处于打开状态.

有没有办法一次关闭所有活动?

android activity-finish android-activity

56
推荐指数
9
解决办法
11万
查看次数

关闭应用并从最近的应用中删除/

我知道这个问题很常见,并且在Stack Overflow上多次询问,但在访问了近四页的搜索引擎结果和几乎关于这个问题的Stack Overflow的20个问题后,我发现它们都没有得到正确的解决或回答.

我想要的是:

我想在最近的应用程序列表中显示我的应用程序,但是当我关闭应用程序时,我的进程应该被终止,应用程序应该从最近的应用程序列表中删除.

我找到了一些答案:

use System.exit(0); //doesn't clear app from recents
OR
use android.os.Process.killProcess(android.os.Process.myPid()); //doesn't clear app from recents
OR
use finish() or this.finish() or Activity.finish();// doesn't clear app from recents
Run Code Online (Sandbox Code Playgroud)

我在每个答案中看到的一个常见建议是在清单中添加以下代码:

android:excludeFromRecents //I think this is wrong approach.
Run Code Online (Sandbox Code Playgroud)

因为当用户在我的应用程序运行时按下主页按钮添加此项后,用户无法在最近的应用程序列表中看到我的应用程序.

关于此的许多其他建议,但他们都没有做任何关闭应用程序和从最近的应用程序列表中清除应用程序.此外,如果你进去Settings>Apps>yourApp>your Application看到仍然它要求"强制停止"意味着应用程序正在运行!

android systemexit activity-finish

53
推荐指数
4
解决办法
5万
查看次数

finish()和System.exit(0)之间的区别

我在谈论android中的编程.

在早期我想,finish() 关闭当前活动并返回活动堆栈中的上一个,并System.exit(0) 关闭整个应用程序.

但是我错了.我做了一个小实验并且明白两者都只完成当前的活动.


我能注意到的唯一区别是,在Android 2.3.3中

  • ActivityResult传播回onActivityResult()finish().而 onActivityResult()不是要求System.exit(0).

但是在Android 4.2.2中,两者都调用了onActivityResult()!对于exit(),Intent为null.(我只测试了这2个设备)

  • 使用退出(),而当有一个时间滞后finish()更快的.(好像更多后台操作是否有退出())

所以,

  1. 两者有什么区别?

  2. 在哪种情况下,我可以使用exit()?

我相信在这两种方法之间我还缺少一些东西.希望有人可以解释更多并纠正我.

谢谢

编辑请求:

制作包含2项活动的Android应用程序.使用Intent从Launcher活动中调用第二个Activity.现在,在第二个活动中,点击一下按钮,就可以了System.exit(0);." VM停止进一步执行,程序将退出. "????(根据文档)

我看到那里的第一个活动.为什么?(欢迎你证明我错了/我是对的)

android activity-finish

35
推荐指数
3
解决办法
4万
查看次数

Android - 调用活动完成的共享元素转换()

我正在努力使应用程序更具实质性,而我只是坚持如何实现一些共享元素转换.我有一个活动A,它启动另一个B然后调用finish()以便从后栈中删除它.在我的情况下,我有一个我想在两个活动之间分享的元素,但是一旦它从A传递到B,A就不再重要了.如果我在startActivity(ctx,intent,bundle)之后没有调用finish(),则退出/输入动画效果很好.但是,如果我打电话给完成,那么在动画开始之前会有一个非常丑陋的闪烁.

我有什么东西可以忽略,或者是不可能做我想做的事情?

java android activity-finish android-5.0-lollipop shared-element-transition

28
推荐指数
3
解决办法
8607
查看次数

Angular js - detect when all $http() have finished

Ok i have tons of $http() calls all around the app code,

i'm wondering is there any way / best practice to detect when all $http() around the app have finished ( success/error donesn't matter what they return, just need to know if finished )?

So that i can show a loading gif until they are loading ?

thanks

javascript http detect activity-finish angularjs

25
推荐指数
2
解决办法
2万
查看次数