安卓开发的常见问题之requestCode和resultCode的区别

在使用startActivityForResult()和onActivityResult()时,会分别用到requestCode和resultCode,有时候极容易将2个参数混淆起来。

startActivityForResult(Intent intent, Int requestCode)
intent 传给B的,requestCode >=0就好,随便用于在onActivityResult()区别哪个子模块回传的数据,如果还有C.java、D甚至E子模块的话,每个区分开不同的requestCode就好。

setResut(int resultCode, Intent intent)
resultCode 如果B子模块可能有几种不同的结果返回,可以用这个参数予以识别区分。这里还有个特殊的 RESULT_OK 值,没有特殊情况用它就好了,sdk有说明的。

相关推荐:
安卓手机有一些软件是在应用列表无法显示的,但它却可以运行,也可以通过其它方法启动,就是根据这个原理实现的。 教程: 1、反编译要编辑的软件,找到AndroidManifest.xml; 2、用记事本打开,找到以下字段: <c …
风险在于数据库数据泄露,可被删除、篡改等问题。 若有这方面的问题,其实可以参考WEB上对SQL的防护,通常可以是定向过滤、参数化等,也可以是白名单模式。 然而对于安卓而言,考虑到数据库文件就在本地,所以建议增 …
原因在于导出activity,任何软件都可以调用它,包括攻击者编写的软件,可能产生恶意调用,应用会产生拒绝服务等问题。 遇到这样的问题,如果它们只被同一个软件中的代码调用,将activity属性改为android:exported="f …
1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。 2. 数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架LiteOr …
当系统辅助功能中的任意一项服务被开启后,所有由系统提供的WebView都会被加入两个JS objects,分别为是”accessibility” 和 “accessibilityTraversal”,如果应用使用了系统的WebView,并且设置了setJavaScriptEnable …
拿起手机扫一扫即可带走我!