android - finishActivity() 的可能用例是什么

标签 android android-layout android-intent android-fragments

<分区>

我已经知道 Finish() 和 FinishActivity()。即

finish() 当您的 Activity 完成并且应该关闭时调用此方法。

finishActivity() 用于完成您之前使用 startActivityForResult(Intent, int);

开始的另一个 Activity

我想用示例代码简要介绍一下。了解其工作原理。

最佳答案

finish() 当您的 Activity 完成并且应该关闭时调用此方法。 ActivityResult 会传播回通过 onActivityResult() 启动您的人。

finishActivity(int requestCode) 用于完成您之前使用 startActivityForResult(Intent, int) 启动的另一个 Activity ;

编辑

就像如果你简单地写 finish(); 然后它就会结束你当前的 Activity ,但是当你使用 finishActivity(1001) 然后 1001 是您从 startActivityForResult(intent, 1001); 传递的请求代码,因此它将完成您来自的 Activity

例子。

@Override 
        public boolean onKeyDown(int keyCode, KeyEvent event) { 
                // TODO Auto-generated method stub 
                if (keyCode == KeyEvent.KEYCODE_BACK) { 
                        finish(); 
                        finishActivity(107); 
                        Intent intent = new Intent(this, Menu.class); 
                        startActivity(inten); 
                        return true; 
                } 
                return false; 
        } 

所以上面的例子将完成你当前的 Activity ,就像你写的 finish(); 一样,也会完成你以前的 Activity ,因为我们写的是 finishActivity(107);,其中我已经告诉过您 107 是您从其他 Activity 传递的代码。

假设您有 2 个 Activity ( Activity A 和 Activity B),主 Activity A 是起始 Activity 。 Activity B 将在 Activity B 之上运行,并且是一个模糊 View 。当我重定向到 Activity B 时,您还没有完成 Activity A。而您正在像这样开始 Activity B

startActivityForResult(intent, 107); 

所以在 Activity B 中你有

@Override 
            public boolean onKeyDown(int keyCode, KeyEvent event) { 
                    // TODO Auto-generated method stub 
                    if (keyCode == KeyEvent.KEYCODE_BACK) { 
                            finish(); 
                            finishActivity(107); 
                            Intent intent = new Intent(this, Menu.class); 
                            startActivity(inten); 
                            return true; 
                    } 
                    return false; 
            } 

这将完成您的 Activity A 和 B。

希望这简单明了。

关于android - finishActivity() 的可能用例是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22032784/

相关文章:

java - 根据哪个按钮打开 Activity 更改操作?

java - 从 android 调用时 TripleDES 算法会生成不同的结果

Android - 键盘显示在 Activity 下方而不是 Activity 上方

android - 在一个 Activity 中的 fragment 之间导航

android Intent 不适用于wifi、声音、蓝牙?

Android:组件的 IntentFilters

android - 共享应用声音(从原始文件夹)

android - Google 登录但结果代码为 0

java - 创建自定义 View 并重用同一 View

java - 删除布局中按/触摸时的深色高光