Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么返回空数据是因为在没有sd卡的情况下不能工作,所以它是否保存在内部存储器中_Java_Android_Uiimageview_Uri - Fatal编程技术网

Java 为什么返回空数据是因为在没有sd卡的情况下不能工作,所以它是否保存在内部存储器中

Java 为什么返回空数据是因为在没有sd卡的情况下不能工作,所以它是否保存在内部存储器中,java,android,uiimageview,uri,Java,Android,Uiimageview,Uri,为什么返回空数据返回它是否保存在内部存储器中,因为当我在捕获后返回时,没有sd卡手机无法工作,然后在redmii手机中崩溃应用程序,这是logcat java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} Caused by: java.lang.NullPointerException: Attempt to invoke virtu

为什么返回空数据返回它是否保存在内部存储器中,因为当我在捕获后返回时,没有sd卡手机无法工作,然后在redmii手机中崩溃应用程序,这是logcat

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null}

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
at com.logiclump.technologies.gigmedico.Home.onActivityResult(Home.java:130)
at android.app.Activity.dispatchActivityResult(Activity.java:6562)
这是第一个活动

Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            file = Uri.fromFile(getOutputMediaFile());
            i.putExtra(MediaStore.EXTRA_OUTPUT, file);

            startActivityForResult(i, CAMERA_REQUEST_CODE);


 private static File getOutputMediaFile()
{
    File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES), "FotoAula");

    if (!mediaStorageDir.exists()){
        if (!mediaStorageDir.mkdirs()){
            return null;
        }
    }

    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    return new File(mediaStorageDir.getPath() + File.separator +
            "IMG_"+ timeStamp + ".jpg");
}

  @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == CAMERA_REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
            file.getLastPathSegment();
            file=data.getData();
            if (file !=null)
            {
                Intent intent = new Intent(this, PictureActivity.class);
                intent.putExtra("imgUrl", file.toString());
                startActivity(intent);
            }
        }
    }
his是我在imageView中设置图像的第二个活动

  Bundle bundle = getIntent().getExtras();

    if (bundle != null) {
        Log.e("ashish", bundle.getString("imgUrl") + "");
         path = Uri.parse(bundle.getString("imgUrl"));

    }

    ImageView selfiiii = (ImageView) findViewById(R.id.mySelfie);
    selfiiii.setImageURI(path);

更改CTVItyResult代码

 Instead

    file.getLastPathSegment();
                file=data.getData();
                if (file !=null)
                {
                    Intent intent = new Intent(this, PictureActivity.class);
                    intent.putExtra("imgUrl", file.toString());
                    startActivity(intent);
                }
    **try this**
     File file = getOutputMediaFile();
     String path = getPath(Uri.fromFile(getOutputMediaFile()));
     Intent intent = new Intent(this, PictureActivity.class);
                    intent.putExtra("imgUrl", path );
                    startActivity(intent);
第二项活动

Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            file = Uri.fromFile(getOutputMediaFile());
            i.putExtra(MediaStore.EXTRA_OUTPUT, file);

            startActivityForResult(i, CAMERA_REQUEST_CODE);


 private static File getOutputMediaFile()
{
    File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES), "FotoAula");

    if (!mediaStorageDir.exists()){
        if (!mediaStorageDir.mkdirs()){
            return null;
        }
    }

    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    return new File(mediaStorageDir.getPath() + File.separator +
            "IMG_"+ timeStamp + ".jpg");
}

  @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == CAMERA_REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
            file.getLastPathSegment();
            file=data.getData();
            if (file !=null)
            {
                Intent intent = new Intent(this, PictureActivity.class);
                intent.putExtra("imgUrl", file.toString());
                startActivity(intent);
            }
        }
    }
Bundle Bundle=getIntent().getExtras()

uriPath=bundle.getString(“imgUrl”)

获取路径方法

**


u未定义isExternalStorageDocument,isDownloadsDocument和IsMediaDocument在logcatE/ashish:/storage/simulated/0/Pictures/FotoAula/IMG_20180329_175730.jpg 03-29 17:57:31.247 15612-15612/com.logicslump.technologies.gigmedico E/BitmapFactory中这三种方法是什么:无法解码流:java.io.FileNotFoundException:/存储/仿真/0/Pictures/FotoAula/IMG_20180329_175730.jpg:open失败:enoint(没有这样的文件或目录)