- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想知道我是否正确理解了 requestCode 和 resultCode 的概念?基本上,我有一个与 Activity 关联的任意整数(requestCode)。例如,在 Notepad tutorial , 我们有
private static final int ACTIVITY_CREATE=0;
private static final int ACTIVITY_EDIT=1;
然后我们使用 startActivityforResult(intent, requestCode) 来启动一个 Activity ,例如“创建笔记” Activity 。我们在那个 Activity 中做了一些事情并返回了一个 resultCode。
在父 Activity 中,我们使用 onActivityResult(requestCode, resultCode, intent) 检测 resultCode。然后,我们可以使用 requestCode 查看正在返回的 Activity ,使用 resultCode 查看该 Activity 的结果,并使用 Intent 的“额外”获取返回的数据。
内置的结果代码有什么特别之处吗,比如 RESULT_CANCELED? documentation on the developer site似乎暗示内置结果只是整数。
在我看来,这可能会变得非常困惑?例如,如果我有 10 个可能的 Activity 要启动,那么我必须有一个巨大的 onActivityResult 函数来检查哪个 Activity 正在返回,不是吗?
最佳答案
Is there anything special about the built-in resultCodes, like RESULT_CANCELED? The documentation on the developer site seems to suggest that the built-in results are simply integers.
是的。这些代码是“标准”响应。例如,如果您启动的 Activity 返回 RESULT_CANCELED
(特别是操作系统 Activity 或标准应用程序,如相机),则表示该 Activity 已取消。这些标准结果应根据文档进行解释。事实上,除非有充分的理由不这样做,否则您的 Activity 应该使用这些标准结果(以便其他应用开发者可以更轻松地开始您的 Activity )。
And it seems to me that this could get really messy? For example, if I had 10 possible activities to launch, then I'd have to have a giant onActivityResult function to check which activity's being returned, wouldn't I?
是的。使用 switch 语句来处理这些。
关于Android:requestCode 和 resultCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6985946/
我认为 requestCode 是某种标识符,仅需要 Intent 或类似的东西,如果我错了,请纠正我。但是如果是这种情况,为什么如果我的pendingintent 的requestCode 是2,当
我有一个使用 startActivityForResult(intent,634) 的 Activity。如果我从 Activity 中使用它,onActivityResult() 中的 reques
我想知道我是否正确理解了 requestCode 和 resultCode 的概念?基本上,我有一个与 Activity 关联的任意整数(requestCode)。例如,在 Notepad tutor
我遇到了问题,但不知道如何解决: 我想在 AndroidStudio 中启动一个结果 Activity ,因此之前我使用 startActivityForResult(intent,1); 并且一切正
我使用请求代码从 MainActivity 调用到 InfomationActivity。但是,当返回 MainActivity 时,它处于非 Activity 状态。这里有什么问题? 在 MainA
为什么显示我的 toast 消息?我的 CEVAP_SORGULA 变量等于 322,但我的 Intent 请求代码是 332 private final static int CEVAP_SORGU
当您调用 startActivityForResult() 时,您还提供“int requestCode”。您如何在启动的 Activity 中获取该参数(以更改那里的一些初始化)? 或者我理解这个参
任何人都可以列出要与 startActivityForResult() 一起传递的 requestCode 的值及其用途吗?另外,您能否解释 setResult 可用的参数,例如 RESULT_OK
我正在尝试关闭从我自己的 Activity 中打开的 Activity 。我认为完成 Activity 是更好的方法,但它不起作用。这是我打开 Activity 的代码。 (与第三方包一起使用,这可能
我正在尝试实现一个提醒应用程序。我将所有提醒详细信息存储在 sqlite 数据库中,例如 id、标题、dateInfo、timeInfo 等。 我想在适当的时候通知用户我将使用 AlarmManage
我正在使用 AlarmManager安排 1 到 35 个警报之间的任意位置(取决于用户输入)。当用户请求安排新的闹钟时,我需要取消当前的闹钟,因此我使用相同的 requestCode 创建所有闹钟,
ActivityCompat.requestPermissions 之类的方法要求我向它们传递一个请求代码,以便稍后在回调中进行测试(在本例中为 onRequestPermissionsResult)
背景: 我正在通过 AlarmManager 使用 PendingIntent 进行警报。 问题: 一开始我以为要取消之前的,我必须提供我之前用来启动警报的确切 requestCode。 但后来我发现
我正在从我的 Fragment 开始一个新的 Activity startActivityForResult(intent, 1); 并希望在 Fragment 的父 Activity 中处理结果:
因为startActivityForResult已弃用。 所以我替换 startActivityForResult至registerForActivityResult这是我的代码: ActivityR
我正在类里面制作一个基本的 android/kotlin 警报应用程序。一旦触发警报,我希望能够从 SQLite 数据库中删除警报,或者如果它是重复警报,则重新设置警报。对于这两个,我需要来自 pen
我不知道我哪里错了。这可能是一个微不足道的错误,但我无法弄清楚。 形成我的第一个 Activity 我开始另一个 Activity 的结果: Intent ccard_intent= new Inte
我正在调用以下方法: Intent intent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); st
我看了https://developer.android.com/reference/android/app/Activity对于 startActivityForResult 和 Google Si
我正在开发一个 Android 应用程序,其中包含一个具有多个 fragment 的主机 Activity 。我在我的主机 Activity 和我的 fragment 中使用了 onActivityR
我是一名优秀的程序员,十分优秀!