Android 如何通过按钮拍摄和保存图片并获取图片路径?

Android 如何通过按钮拍摄和保存图片并获取图片路径?,android,camera,Android,Camera,在这里,我想采取的照片,并保存在sd卡上,并通过按钮获得路径。 图片路径可以在文本视图中看到。 我怎么做 公共类MainActivity扩展了AppCompatActivity{ private static final int CAMERA_PIC_REQUEST = 1111; private ImageView mImage; Button camera; Button path; TextView tvPath; public void onCreate(Bundle savedIns

在这里,我想采取的照片,并保存在sd卡上,并通过按钮获得路径。 图片路径可以在文本视图中看到。 我怎么做

公共类MainActivity扩展了AppCompatActivity{

private static final int CAMERA_PIC_REQUEST = 1111;
private ImageView mImage;
Button camera;
Button path;
TextView tvPath;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mImage = (ImageView) findViewById(R.id.camera_image);
    path = (Button) findViewById(R.id.btnPath);
    tvPath  = (TextView) findViewById(R.id.tvPath);

    //1
    camera.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent, CAMERA_PIC_REQUEST);
        }
    });

}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAMERA_PIC_REQUEST) {

        Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
        mImage.setImageBitmap(thumbnail);

        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        thumbnail.compress(Bitmap.CompressFormat.JPEG, 100, bytes);

        File file = new File(Environment.getExternalStorageDirectory()+File.separator + "image.jpg");
        try {
            file.createNewFile();
            FileOutputStream fo = new FileOutputStream(file);

            fo.write(bytes.toByteArray());
            fo.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

抱歉用英语说。

你在onActivityResult中得到任何数据了吗?谢谢你的回复。不,我没有得到任何数据。可能的重复不,我的问题是我不知道如何获取路径并放到文本视图中,你在onActivityResult中得到任何数据了吗?谢谢你的回复。不,我没有得到任何数据。可能的重复不,我的问题是我不知道怎么做请解释这一行==>String fullFilePath=FilePath.getPath(这个,FilePath);请解释这一行==>String fullFilePath=FilePath.getPath(这个,FilePath);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAMERA_PIC_REQUEST) {
        Uri filePath = data.getData();
        String fullFilePath = FilePath.getPath(this, filePath);
        if (fullFilePath != null) {
            String filename = fullFilePath.substring(fullFilePath.lastIndexOf("/") + 1);
            tvFilename.setText(filename);
        }
    }