react-native 显示本地所有图片
目的:获取本地所有图片并展示、提供选择(github上没有找到适合的组件,都是直接打开本地相册选择,这样就不能自定义选择界面UI,因此写了原生方法,仅供参考)
Android
- GetLocalPhotosPackage.java文件
- MainApplication.java中的导入
↓↓↓
跟其他步骤一样这里就不写了(不懂得看一下react-native跟原生android的交互)
GetLocalPhotosModule.java
package com.demo.baidulocation; // 自己的包名
import android.content.Intent;
import android.R.string;
import android.graphics.Bitmap;
import android.net.Uri;
import android.provider.MediaStore;
import android.os.Bundle;
import android.database.Cursor;
import java.lang.Thread;
import java.lang.Runnable;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.io.File;
import org.json.JSONArray;
import org.json.JSONObject;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.Callback;
import com.facebook.react.bridge.Promise;
public class GetLocalPhotosModule extends ReactContextBaseJavaModule {
GetLocalPhotosModule(ReactApplicationContext reactContext) {
super(reactContext);
}
@Override
public String getName() {
return "GetLocalPhotos";
}
@ReactMethod
private void getAllPhotoInfo(final Promise promise) {
new Thread(new Runnable() {
@Override
public void run() {
JSONArray allPhotosTemp = new JSONArray(); //所有照片
JSONObject mediaBeen = null;
Uri mImageUri = MediaStore