# OnAbilityResult **Repository Path**: chinasoft4_ohos/OnAbilityResult ## Basic Information - **Project Name**: OnAbilityResult - **Description**: 使用注解为Ability回调方法onAbilityResult()生成样板代码 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2021-06-08 - **Last Updated**: 2021-10-11 ## Categories & Tags **Categories**: harmonyos-view-transition **Tags**: None ## README # OnAbilityResult ## 项目介绍 - 项目名称:OnAbilityResult - 所属系列:openharmony的第三方组件适配移植 - 功能:使用注解为Ability回调方法onAbilityResult()生成样板代码 - 项目移植状态:主功能完成 - 调用差异:无 - 开发版本:sdk6,DevEco Studio2.2 Beta1 - 基线版本:Release 0.7.0 ## 效果演示 ## 安装教程 **远程依赖方式** 1.在项目根目录下的build.gradle文件中 ``` allprojects { repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' } } } ``` 2.在entry模块的build.gradle文件中 ``` dependencies { implementation('com.gitee.chinasoft_ohos:onabilityresult:1.0.1') annotationProcessor('com.gitee.chinasoft_ohos:onabilityresult-compiler:1.0.1') ...... } ``` **本地依赖方式** ``` dependencies { implementation project(':onabilityresult') annotationProcessor project(':onabilityresult-compiler') ...... } ``` 在sdk6,DevEco Studio2.2 Beta1下项目可直接运行。如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 ## 使用说明 1. 在你的 Ability 或 AbilitySlice 中的 onAbilityResult 调用 OnAbilityResult.onResult ```java @Override protected void onAbilityResult(int requestCode, int resultCode, Intent resultData) { super.onAbilityResult(requestCode, resultCode, resultData); OnAbilityResult.onResult(requestCode, resultCode, resultData).into(this); } ``` 2.自定义方法名,使用注解实现回调 ```java @OnAbilityResult(requestCode = 100, resultCodes = {1}) void onAbilityResultOk() { showToast("Got ability for result ok"); } @OnAbilityResult(requestCode = 200) void onAbilityResultCustom(final int resultCode, final Intent intent) { showToast("Got ability for result 2 " + resultCode + " with intent " + intent); } @OnAbilityResult(requestCode = 300) void onAbilityResultPickImage(final int resultCode, final Intent intent, @IntentData final Uri uri) { showToast("Got image for result " + resultCode + " with intent " + intent + " and uri " + uri); } /** * 获取界面返回resultData中的参数值 * 参数param为传值的key,名称保持一致,intent.setParam("param","测试"); */ @OnAbilityResult(requestCode = 400) void onAbilityResultParam(final int resultCode, final Intent intent, @ExtraString String param) { showToast("Got image for result " + resultCode + " with intent " + intent + " and uri " + param); } ``` ## 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 当前版本demo功能与原组件基本无差异 ## 版本迭代 - 1.0.0 ## 版权和许可信息 ``` Copyright (C) 2015 Vanniktech - Niklas Baudy Licensed under the Apache License, Version 2.0 ```