System.out.println(e); } catch (NullPointerException e) { System.out.println(e); } } } 用户成功登录后: protected void onActivityResult...,Toast.LENGTH_SHORT).show(); } } 问题是,onResume()在onActivityResult()之前被调用,所以当用户成功登录时,我的主活动不会得到通知,因为首先调用
image.png onActivityResult 在一个主界面(主Activity)通过意图跳转至多个不同子Activity上去,当子模块的代码执行完毕后再次返回主页面,将子activity中得到的数据显示在主界面...这种带数据的意图跳转需要使用activity的onActivityResult()方法。...第二个参数:如果> = 0,当Activity结束时requestCode将归还在onActivityResult()中。...onActivityResult(int requestCode, int resultCode, Inten data) onActivityResult中 第一个参数:这个整数requestCode...resultCode, Intent data) 在意图跳转的目的地界面调用这个方法把Activity想要返回的数据返回到主Activity, 第一个参数:当Activity结束时resultCode将归还在onActivityResult
一、思考 当Activity A启动一个Activity B后,B finish,我们可能需要处理B返回的值,此时,我们可能就需要用到了onActivityResult,需要在Activity A中重写实现...所以我产生以下思路:通过给当前的Activity添加一个空壳的Fragment,往空壳的Fragment中传入Listener,然后由该Fragment去启动新的Activity,最终在这个空壳的Fragment的onActivityResult...requestCode, OnActivityResultCallBack callBack); interface OnActivityResultCallBack { void onActivityResult...(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode...= null) { callBack.onActivityResult(resultCode, data); } } 这里使用一个字典SparseArray
为什么要丢掉 onActivityResult ? 如何启动一个新的 Activity,并获取返回值?...你的答案肯定是 startActivityForResult 和 onActivityResult 。...在介绍新 API 之前,我们不妨思考一下,为什么 Google 要丢掉 onActivityResult ? 减少样板代码,解耦 ,更易测试 。...} } private fun jump() { startActivityForResult(Intent(this, SecondActivity::class.java...() } } private fun jump() { startActivity.launch(Intent(this,SecondActivity::class.java
at android.app.ContextImpl.startActivity(ContextImpl.java:672) at android.app.ContextImpl.startActivity...(ContextImpl.java:659) at android.content.ContextWrapper.startActivity(ContextWrapper.java:331) at realmusic.ace.com.myapplication.MyService...$1.run(MyService.java:32) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage...(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java...(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 根据错误信息的提示,增加FLAG_ACTIVITY_NEW_TASK
背景 在项目开发中,发现startActivityForResult和onActivityResult方法已经被废弃了,这是为什么呢?有代码强迫症的我开始了研究。...val intent = Intent(this, ResultActivity::class.java) startActivityForResult(intent, ACTION_CODE)...:1.3.0-alpha02 中,已经废弃了startActivityForResult和onActivityResult方法。...: Intent { return Intent(context, ResultActivity::class.java) } override...} } } activityResultLauncher.launch(Intent(this, ResultActivity::class.java
随着应用的扩展,onActivityResult回调方法各种嵌套、耦合严重、难以维护。 最常见的场景就是调用系统相机相册获取照片了。...onActivityResult 现状?...相比onActivityResult有哪些优势?接下来,将一一为你解答。...: Intent { return Intent(context,SecondActivity::class.java).apply { putExtra("name"...构造需要传递的数据,启动页面跳转 button.setOnClickListener { val intent = Intent(this,SecondActivity::class.java).
现有 MainActivity,当它进入到 SecondActivity 后,在 SecondActivity 中进行了某些操作然后需要将值返回给 MainActivity 时,就需要用到 onActivityResult...(2)onActivityResult()方法中的第二个参数就是SecondActivity传回来的键,第三个参数就是SecondActivity传回来的键对应的值。...(int requestCode, int resultCode, Intent data) { Log.i(TAG, "onActivityResult"+"requestCode"+requestCode...(requestCode, resultCode, data); } SecondActivity 类中的代码: 这个里面的 RESULT_CODE、intent 分别跟上段代码中 onActivityResult...; setResult(RESULT_CODE, intent); finish(); } 补充说明 onActivityResult() 方法中的第二个参数 resultCode
问题回顾: 在Android8.0手机上不能直接安装Apk,需要权限申请,回调后执行onActivityResult()方法,并弹出对应的dialog,这时需要判断当前Activity是否处于resume...问题本质 Activity跳转到系统应用后回调onActivityResult() 先执行还是onResume()先执行?...(int requestCode, int resultCode, Intent data) { } onActivityResult()注释中有这么一句话: You will receive this...(意思是说当你的Activity重新启动时 onActivityResult() 会在onResume()之前执行) 很显然,如果你的Activity 调用了 startActivityForResult...() 方法启动,回调之后会先执行 onActivityResult() ,然后执行onResume() 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139798.
使用 Fragment 封装权限申请 使用 Fragment 优雅处理 onActivityResult Activity reCreate 的时候用来存储数据 这篇文章主要讲解以下内容 使用 Fragment...封装权限申请 使用 Fragment 优雅处理 onActivityResult 当然,这些封装,网上都有相应的开源库了, RxPermission, EasyPermision, RxActivityReslut...---- 使用 Fragment 优雅处理 onActivityResult 我们先来看一下没封装之前 onActivityresult 的处理方式 我们先来看下正常情况下启动 Activity 和接收回调信息的方式...onActivityResult 都在同一个 activity 处理,如果这种方式特别多的话,我们要写一大堆的 if else,代码可读性大大较低,也不是很优雅。...在 onActivityresult 里面根据 requestCode 找到相应的 callback,并进行相应的回调。
startActivityForResult(intent, REQUEST_CODE_CAMERA); } 相机拍摄后的回调如下: @Override public void onActivityResult...(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode
T1Activity跳转到下一个Text2Activity,而当这个Text2Activity调用了finish()方法以后,程序会自动跳转回T1Activity,并调用前一个T1Activity中的onActivityResult...相关的接口: startActivityForResult(Intent intent, Int requestCode) setResut(int resultCode, Intent intent) onActivityResult...(int requestCode, int resultCode, Intent intent) 实战代码 MainActivity.java: package com.exmple.transition...(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode..., resultCode, data); Log.d("test---", "resultCode="+resultCode); } } test2.java: package
主界面的编写(Login.java) ? login.xml <?xml version="1.0" encoding="utf-8"?..." android:textColor="#FF0000" /> 注意,ProgressBar,TextView在一开始要设置为隐藏 Login.java...在最后的onActivityResult中requestCode == 2设置组件的是否可视 btnOption进入OptionActivity。...就用到了sharedPreferences和onActivityResult和Activity的生命周期。...至于onActivityResult和Activity的生命周期被调用的先后顺序,自己可以Log查看。
方法 3.onActivityResult /** * @param requestCode 请求码 * @param resultCode 结果码 * @param data...参数 */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent...data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == 2)...}else if(resultCode == 3){ btn.setText("按返回键了"); } } 完整代码: MainActivity.java...}else if(resultCode == 3){ btn.setText("按返回键了"); } } } SecondActivity.java
// java版 Activity的代码 import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap...android.widget.ImageView; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import java.io.FileNotFoundException...(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode...指定获取的是图片 intent.type = "image/*" startActivityForResult(intent, REQUEST_IMAGE_OPEN); } } override fun onActivityResult...{ super.onActivityResult(requestCode, resultCode, data) when(requestCode){ REQUEST_IMAGE_OPEN->{
4、无法加载xml中的view,报 java.lang.NullPointerException 异常 忘记加载activity的layout文件: setContentView(R.layout.main.....就会没问题 http://hovertree.com/menu/android/ 6、requestCode和resultCode的区别 在使用startActivityForResult()和onActivityResult...()区别哪个子模块回传的数据,如果还有C.java ,D甚至E子模块的话,每个区分开不同的requestCode就好。...intent 继续不解释,传回给A的onActivityResult() onActivityResult(int requestCode, int resultCode, Intent intent...如果不对requestCode和resultCode 加以识别区分的话,只要有其他activity setResult到了A onActivityResult()会无差别处理。
val content = tvContent.text.toString().trim() val intent = Intent(this, EditActivity::class.java...BaseSingleFragment().apply { intentGenerator = { Intent(it, EditActivity::class.java...fragmentManager.beginTransaction().remove(this).commitAllowingStateLoss() } } 当然,这是一个 suspend 方法,java...是不支持协程的,而现实情况是,很多项目都有中途集成Kotlin的,有很多遗留的java代码,对于这种情况,我们需要提供相应的java实现吗?...Java 代码同样可以调用 suspend 方法,调用方式如下: btnEditByCoroutine.setOnClickListener((view) -> { String content
REQUEST_ENABLE_BT); } ---- demo(查看本机是否支持蓝牙,蓝牙是否开启,没开启则请求): 新建一个项目,添加好如上述两个权限,编写MainActivity.java...(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode...match_parent" android:layout_height="wrap_content" /> 接着修改MainActivity.java...此时java: public class MainActivity extends AppCompatActivity { private static final String TAG =...此时java: public class MainActivity extends AppCompatActivity { private static final String TAG =
startActivityForResult主要作用就是: A-Activity需要在B-Activtiy中执行一些数据操作,而B-Activity又要将,执行操作数据的结果返回给A-Activtiy //看效果 //看代码 [java...startActivityForResult来启动 startActivityForResult(intent, 100); } } /** * 复写onActivityResult...,这个方法 * 是要等到SimpleTaskActivity点了提交过后才会执行的 */ @Override protected void onActivityResult...TextView_result.setText(“书籍名称:”+bookname+“书籍价钱”+booksale+“元”); } super.onActivityResult...(requestCode, resultCode, data); } } //任务处理类 [java] package jason.actres; import