在 Android 中,启动活动对结果有啥用? [复制]
Posted
技术标签:
【中文标题】在 Android 中,启动活动对结果有啥用? [复制]【英文标题】:What is use of start activity for result in Android? [duplicate]在 Android 中,启动活动对结果有什么用? [复制] 【发布时间】:2011-08-17 15:51:17 【问题描述】:在 android 中,start Activity 有什么用处?请举例说明 startactivity 和 startactivityforresult 有什么区别?
【问题讨论】:
查看developer.android.com/reference/android/app/Activity.html 并尝试示例 【参考方案1】:通过使用Activity2
调用startActivityForResult
,您当前的活动将在Activity2
完成(按下后退按钮)时得到通知,这样您也可以从中获取信息。
您可以通过覆盖 Activity 的 onActivityResult
方法来捕获此通知。
这篇关于Android startActivity and startActivityForResult的文章可能值得一看。
【讨论】:
【参考方案2】:startActivityForResult()
允许您开始活动并取回一些数据。假设您有一些文件选择器活动。您可以启动它,当用户选择文件时,结果将返回给原始活动。
此外,如果您只是想确保第二个活动已成功完成某事,也可以使用它。
在onActivityResult方法中获取结果代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
// Result OK.d.
if (requestCode == resultCode)
// do something good
【讨论】:
返回的 requestCode 肯定与调用 startActivityForResult 时传入的值相同。 resultCode 通常类似于 RESULT_OK 或 RESULT_CANCELED。我不明白你为什么要测试它们是否相等? 是的,这没有任何意义。我喜欢保留我用来在 startActivityForResult 生成意图的 requestCodes 常量,然后在 onActivityResult 的 switch 块中检查它们。以上是关于在 Android 中,启动活动对结果有啥用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章