@OnClick(R.id.simpleDraweeView) public void onViewClicked() { AlertDialog.Builder builder = new AlertDialog.Builder(HeadActivity.this); builder.setIcon(R.drawable.ic_launcher_background); builder.setTitle("选择图片上传方式"); // 指定下拉列表的显示数据 final String[] cities = {"从相册中获取", "拍照"}; // 设置一个下拉的列表选择项 builder.setItems(cities, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(HeadActivity.this, "选择的方式为:" + cities[which], Toast.LENGTH_SHORT).show(); if (cities[which].equals("从相册中获取")) { Intent picture = new Intent( Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(picture, 101); } else if (cities[which].equals("拍照")) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 99); } } }); builder.show(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case 99: if (resultCode == RESULT_CANCELED) { Toast.makeText(HeadActivity.this, "取消了拍照", Toast.LENGTH_LONG).show(); return; } Bitmap photo = data.getParcelableExtra("data"); simpleDraweeView.setImageBitmap(photo); break; case 101: if (requestCode == 101 && resultCode == Activity.RESULT_OK && null != data) { //Uri data1 = data.getData(); Bitmap photo1 = data.getParcelableExtra("data1"); simpleDraweeView.setImageBitmap(photo1); //String scheme = data1.getScheme(); //String s = getFileByUri(data1, HeadActivity.this); //Toast.makeText(MainActivity.this,s+"123333312313",Toast.LENGTH_SHORT).show(); // image_View.setImageURI(data1); //File file = new File(s); //PushImage("16929", file); } break; } }