startAbilityForResult转变为Callback回调-鸿蒙开发者社区-51CTO.COM

startAbilityForResult转变为Callback回调 原创

没用的喵叔
发布于 2021-5-12 10:05
浏览
1收藏

ActCaller

AbilitySlice#startAbilityForResult+onAbilityResult()转变为Callback形式

使用

  1. 添加依赖

    implementation project(':ActCaller')//依赖源码或者直接用har
    
  2. 与原生方法对比

    原生方法:

    startAbilityForResult(intent, 0);
    
    
    @Override
    protected void onAbilityResult(int requestCode, int resultCode, Intent resultData) {
        super.onAbilityResult(requestCode, resultCode, resultData);
    
        //处理返回数据
    }
    

    使用ActCaller:

    ActCaller.startForResult(MainAbilitySlice.this, intent, new ActCaller.Callback() {
        @Override
        public void onAbilityResult(Intent result) {
            //处理返回数据
        }
    });
    

源码https://gitee.com/andych008/ActCaller

原理

使用一个中间页Slice代理调用startAbilityForResult并处理onAbilityResult(),然后回调Callback。
简化外部的使用。

没什么新意,只是代码使用上的一种改进(或者说是偏好)

局限性

目前只支持在Slice中使用

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2021-5-12 10:25:36修改
2
收藏 1
回复
举报
1条回复
按时间正序
/
按时间倒序
lazihuman
lazihuman

学习一下

回复
2021-5-12 10:09:53
回复
    相关推荐