カメラ、ギャラリーから受信した結果データでイメージビューを設定しようとしています。カメラインテントがコード内で動作しない
私は4つのImageViewを持っているので、選択した画像ビューの要求コードの変更に応じて、このキャプチャとギャラリー変数に割り当てられます。
private void picselect(int capture, int gallery) {
final CharSequence[] items = {"Take Photo", "Choose from Library",
"Cancel"};
a=capture;
b=gallery;
AlertDialog.Builder builder = new AlertDialog.Builder(
EditProfile.this);
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
if (items[item].equals("Take Photo")) {
Calendar cal = Calendar.getInstance();
File file = new File(Environment.getExternalStorageDirectory(),
(cal.getTimeInMillis() + ".jpg"));
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
} else {
file.delete();
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
uricam = Uri.fromFile(file);
Intent takePicture = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
Log.d("shanOutput", String.valueOf(uricam));
takePicture.putExtra(MediaStore.EXTRA_OUTPUT, uricam);
startActivityForResult(takePicture,a);
} else if (items[item].equals("Choose from Library")) {
Intent photoPic = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(photoPic,b);
} else if (items[item].equals("Cancel")) {
dialog.dismiss();
}
}
});
builder.show();
}
private String getRealPathFromURI(Uri contentURI) {
String result;
Cursor cursor = getContentResolver().query(contentURI, null,
null, null, null);
if (cursor == null) {
result = contentURI.getPath();
} else {
cursor.moveToFirst();
int idx = cursor
.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
result = cursor.getString(idx);
cursor.close();
}
return result;
}
このonActivityResult
ギャラリーから画像を受信if (resultCode == RESULT_OK) {
if(imageReturnedIntent!=null){
Uri selectedImage = imageReturnedIntent.getData();
if(selectedImage!=null){
profileImage.setImageURI(selectedImage);}
sendImageToServer(String.valueOf(getRealPathFromURI(selectedImage)),1);
Log.d("shanImage", String.valueOf(getRealPathFromURI(selectedImage)));
}
}
の内側に書かれた私のコードは正常に動作しているが、一部はnullを返しています。私のコードで何が欠けているのですか?誰かがこのモジュールを完成するために私を導くことができますか?
a =キャプチャ; b = gallery;この値が必要なint値は – Saveen