1.0.0 • Published 7 months ago

@smart-link/rn-camera v1.0.0

Weekly downloads
-
License
-
Repository
-
Last release
7 months ago

@smart-link/rn-camera

安装

$ npm install @smart-link/rn-camera --save

安卓配置

修改MainActivity.java(android\app\src\main\java\com\caih\smartlink\MainActivity.java)文件,

引入包

import com.caih.smartlink.camera.RNCameraModule;

修改onActivityResult()方法,添加以下代码

if(requestCode == IntentCode.REQUEST_CODE_FOR_SINGLE_FILE) {
     RNCameraModule rnCameraModule = getReactInstanceManager().getCurrentReactContext().getNativeModule(RNCameraModule.class);
     if (rnCameraModule != null) {
            rnCameraModule.onActivityResult(this, requestCode, resultCode, data);
     }
}

完整代码

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == IntentCode.REQUEST_CODE_FOR_SINGLE_FILE) {
         RNCameraModule rnCameraModule = getReactInstanceManager().getCurrentReactContext().getNativeModule(RNCameraModule.class);
         if (rnCameraModule != null) {
                rnCameraModule.onActivityResult(this, requestCode, resultCode, data);
         }
    }
}

引用

import RNCamera from '@smart-link/rn-camera';

文档

一、打开相册

选择相册图片,可多选,可编辑图片;

响应:

{
  "code": "0000",
  "codeMsg": "获取照片成功",
  "data": [
    "/storage/emulated/0/Pictures/image-d730c90b-f96d-4f24-82d3-5eadbb8e81c35596692734541823228.jpg",
    "/storage/emulated/0/Pictures/image-df9a5b26-d85e-454c-8365-b457279443694404056309435210300.jpg",
    "/storage/emulated/0/DCIM/Screenshots/Screenshot_2023-08-04-17-40-29-39_e1fb5cab27cdfad49efc623982633bff.jpg"
  ]
}

示例:

const res = await RNCamera.openAlbum();

二、打开相机

打开摄像头,拍照、录像;

响应:

{
  "code": "0000",
  "codeMsg": "拍照或录像成功",
  "data": "/storage/emulated/0/DCIM/Camera/IMG_20230913101714078.jpg"
}

示例:

const res = await RNCamera.openCamera();

三、选择本地文件

打开本地文件管理库,选择文件,可多选(长按选择的文件,开启多选);

响应:

{
  "code": "0000",
  "codeMsg": "选择文件成功",
  "data": [
    {
      "fileName": "VID_20230921160455301.mp4",
      "filePath": "/storage/emulated/0/Movies/VID_20230921160455301.mp4 ",
      "size ": "854832 ",
      "uri ": "content: //com.android.providers.media.documents/document/video%3A139993"
    }
  ]
}

示例:

const res = await RNCamera.chooseFile();

四、扫二维码

打开摄像头,扫描识别二维码。或者识别本地相册中的二维码

入参(boolean:可选)

  • true (默认) 开启识别本地二维码
  • false 关闭识别本地二维码

响应:

{
  "code": "0000",
  "codeMsg": "扫码成功",
  "data": "http://www.xxx.com"
}

示例:

const res = await RNCamera.scanQRCode(false);
1.0.0

7 months ago