मैं कैमरा ऐप पर काम कर रहा हूं, मैं चाहता हूं कि जब मैं "कैप्चर" बटन दबाता हूं तो यह एक तस्वीर लेता है और इसे एसडीकार्ड में सहेजता है इसे गैलरी में देखा जा सकता है।एंड्रॉइड कस्टम कैमरा ऐप तस्वीर गैलरी में दिखाई नहीं दे रही है जब तक कि मैं अपने फोन को रीबूट नहीं करता
हालांकि वर्तमान में यह सहेजने में विफल रहता है कि मैं इसे कैसे चाहता हूं। वर्तमान में जब मैं कैप्चर दबाता हूं तो यह एक तस्वीर लेता है, लेकिन तस्वीर पूरी तरह से मेरे फोन को पुनरारंभ करने के बाद गैलरी में दिखाया जाता है।
यह समस्या सप्ताहों के लिए मेरे साथ गड़बड़ कर रही है, मैंने ज्यादातर ट्यूटोरियल एंड्रॉइड दिया है।
यहां मुख्य कक्षा के लिए मेरा कोड है जो चित्रों को संभालता है।
private PictureCallback mPicture = new PictureCallback()
{
@Override
public void onPictureTaken(byte[] data, Camera camera)
{
File pictureFile = getOutputMediaFile(MEDIA_TYPE_IMAGE);
if (pictureFile == null){
Log.d(TAG, "Error creating media file, check storage permissions: ");
return;
}
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
// Log.d(TAG, "File not found: " + e.getMessage());
} catch (IOException e) {
// Log.d(TAG, "Error accessing file: " + e.getMessage());
}
}
};
private static File getOutputMediaFile(int type){
// To be safe, you should check that the SDCard is mounted
// using Environment.getExternalStorageState() before doing this.
File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), "MyCameraApp");
// This location works best if you want the created images to be shared
// between applications and persist after your app has been uninstalled.
// Create the storage directory if it does not exist
if (! mediaStorageDir.exists()){
if (! mediaStorageDir.mkdirs()){
Log.d("MyCameraApp", "failed to create directory");
return null;
}
}
// Create a media file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File mediaFile;
if (type == MEDIA_TYPE_IMAGE){
mediaFile = new File(mediaStorageDir.getPath() + File.separator +
"IMG_"+ timeStamp + ".jpg");
} else if(type == MEDIA_TYPE_VIDEO) {
mediaFile = new File(mediaStorageDir.getPath() + File.separator +
"VID_"+ timeStamp + ".mp4");
} else {
return null;
}
return mediaFile;
}
public void onClick(View v) {
mCamera.takePicture(null, null, mPicture);
Context context = getApplicationContext();
CharSequence text = "Click Detected";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
मेरे लॉग बिल्ली जब मैं कब्जा क्लिक
स्तर निम्नलिखित पता चलता है: ई टैग: कैमरा पाठ: CAMERA_MSG_RAW_IMAGE के लिए handlemessage में
मेरे अनुमतियाँ हैं
uses-permission android:name="android.permission.CAMERA"
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
किसी भी मदद की बहुत सराहना की है। धन्यवाद
किटकैट पर काम नहीं करता। अगर कोई है तो कृपया कामकाज में मदद करें? –