android - startActivity 和 startActivityForResult 具有相同的 Activity?

标签 android

我正在开发一个 Android 应用程序,我有一个 ListActivity

有时,我需要使用 startActivityForResult 打开它,有时需要使用 startActivity

我想我可以做到,但我不确定。我有两个问题:

  1. 我可以为 Result 和 normally 启动相同的 Activity 吗?
  2. 我怎么知道 ListActivity 是用 startActivitystartActivityForResult 启动的?

最佳答案

Can I start the same activity forResult and normally?

是的,你可以。

How con I know on ListActivity that it was started with startActivity or startActivityForResult?

参见 getCallingActivity了解更多详情。

因此您可以在完成调用 Activity 之前 checkin Activity 。如果结果为空,则 Activity 由 startActivity() 调用,如果结果不为 null,则 Activity 由 startActivityForResult() 调用。就是这样。

例子:-

if (getCallingActivity() == null) {
    //This Activity was called by startActivity 
} else {
   //This Activity was called by startActivityForResult
}

关于android - startActivity 和 startActivityForResult 具有相同的 Activity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17470174/

相关文章:

Android gradle plugin(7.0.0-alpha15) 移除了 variantFilter 属性,如何恢复功能?

android - setRequestProperty 抛出 java.lang.IllegalStateException : Cannot set request property after connection is made

android - onActivityResult 在使用 Intent.EXTRA_ALLOW_MULTIPLE 时得到 RESULT_CANCELLED

java - 操作栏不显示项目

android - Ionic 3 Android 构建错误(找不到 support-v4.jar)

java - 如何将字符转换为二进制?

android - PhoneGap 忽略设置了特定宽度的视口(viewport)标签?

使用 findViewById 初始化对象后直接出现 java.lang.NullPointerException

android - ScaleTo 在 Libgdx 中不工作

android - 使用 Dagger 柄作为依赖注入(inject)来处理多个改造客户端?