मैं एक साधारण एंड्रॉइड ऐप खड़ा करने की कोशिश कर रहा हूं जो इरादे के माध्यम से कैमरे का उपयोग करता है। यह कोड Android documentation here से बहुत अधिक है, लेकिन यह मेरे लिए काम नहीं कर रहा है।एंड्रॉइड कैमरा इरादा RESULT_OK मामले में वापस नहीं आता
कैमरा एप शुरू करने के बाद कॉल के बाद उम्मीद की जाती है एक्टिविटीफॉर रिसेट(), लेकिन यह एक तस्वीर (?!) लेने के बाद कभी वापस नहीं आती है। विशेष रूप से, यह एक फोटो लेने के बाद वापस नहीं आता है और स्वीकार्य आइकन चुनता है (गैलेक्सी नेक्सस पर चेक मार्क)। लेकिन जब मैं रद्द आइकन (उसी फोन पर 'एक्स' चुनता हूं तो यह वापस आता है)।
कोड यह (ध्यान दें, मैं एक टुकड़ा, एक गतिविधि से काम कर रहा हूँ):
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.my_layout, container, false);
final Button btnCamera = (Button) view.findViewById(R.id.cameraid);
View.OnClickListener handler = new View.OnClickListener() {
public void onClick(View v) {
if (v == btnCamera) {
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// create a file to save the image
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "MyImages");
imagesFolder.mkdirs();
File image = new File(imagesFolder, "image_001.jpg");
Uri uriSavedImage = Uri.fromFile(image);
// start the image capture Intent
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}
}
}
btnCamera.setOnClickListener(handler);
}
और
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
// Image captured and saved to fileUri specified in the Intent
Toast.makeText(getActivity(), "Image saved to:\n" +
data.getData(), Toast.LENGTH_LONG).show();
}
else if (resultCode == Activity.RESULT_CANCELED) {
// User cancelled the image capture
} else {
// Image capture failed, advise user
}
}
क्या मैं इस काम करने के लिए बदलने की जरूरत है? धन्यवाद।
धन्यवाद डायलन, - करेंगे। – gcl1