选择文件

  1. 跳转选择文件:

    1. Intent intent = new Intent();
    2. intent.setAction(Intent.ACTION_GET_CONTENT);
    3. intent.setType("pdf/*");
    4. intent.addCategory(Intent.CATEGORY_OPENABLE);
    5. getCurrentActivity().startActivityForResult(intent, 2);
  2. 处理返回结果;

    1. public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) {
    2. if (requestCode == 2) {
    3. Uri uri = data.getData();
    4. String path = FileUtils.getRealPathFromURI(uri, getReactApplicationContext());
    5. WritableMap resultMap = Arguments.createMap();
    6. resultMap.putString("path", path);
    7. pdfPromise.resolve(resultMap);
    8. }
    9. }

    文件路径

    1. public static String getRealPathFromURI(Uri contentUri, Context context) {
    2. String[] proj = {MediaStore.Images.Media.DATA};
    3. Cursor cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
    4. int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    5. cursor.moveToFirst();
    6. String fileStr = cursor.getString(column_index);
    7. cursor.close();
    8. return fileStr;
    9. }