h5+关于activityResult回调问题

本文介绍了一个结合H5和Android开发的项目中,如何在Android端实现对系统相机调用后的确定和取消操作的回调功能。通过具体的代码示例展示了如何注册监听系统事件并处理回调逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目有h5+和android一起开发,android端主要是一个框架,具体界面和功能都是h5实现

在调用系统相机的时候,需要一个是确定和取消的回调,直接上代码

1、在这个类中有一个方法

/**
 * demo为以WebApp方式集成5+ sdk */
public class SDK_WebApp extends Activity {
2、这个方法必须要有
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    mEntryProxy.onActivityExecute(this, SysEventType.onActivityResult, new Object[]{requestCode, resultCode, data});
}

3、在这个插件功能类中

public class CameraWaterMark extends StandardFeature {

    private static final int TAKE_PHOTO_REQUEST_CODE = 1;
    private int startCameraCount = 0;
    private CreatWaterService c;
    private Activity activity;
    //    private File pic;
    public static int MAX_DIM = 1024;
    public static int QUALITY = 80;
    private String mCallBackID;
    private IWebview pWebview;
    private boolean isBean;

    public void onStart(Context mContext, Bundle pSavedInstanceState, String[] pRuntimeArgs) {

        /**
         * 如果需要在应用启动时进行初始化,可以继承这个方法,并在properties.xml文件的service节点添加扩展插件的注册即可触发onStart方法
         * */
    }
4、关键的代码来了

通过pWebview.obtainFrameView().obtainApp()可以获得一个IApp句柄。
IApp类存在registerSysEventListener方法,这个方法可以注册监听一些系统事件(SysEventType存在一些常用类型,比如onResume、onPause等)

final IApp _app = pWebview.obtainFrameView().obtainApp();
_app.registerSysEventListener(new ISysEventListener() {
    @Override
    public boolean onExecute(SysEventType pEventType, Object pArgs) {

        Object[] _args = (Object[]) pArgs;
        int requestCode = (Integer) _args[0];
        int resultCode = (Integer) _args[1];
        Intent data = (Intent) _args[2];
        if (pEventType == SysEventType.onActivityResult) {
            _app.unregisterSysEventListener(this, SysEventType.onActivityResult);
            if (resultCode == Activity.RESULT_OK) {
                if (requestCode == 10) {

这个SysEventType中有好多Activity的回调方法,_args有三个数就是以上,目前无法获取如果回调权限的话,如何得到申请权限的详细信息,应该有,目前没有找到,如果有知道的大神可以留言,相互学习,谢谢






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值