gpt4 book ai didi

android - 保存在内部存储中拍摄的照片?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:18:05 29 4
gpt4 key购买 nike

我编码拍照并将其保存在外部存储中。它在我的带有 sd 卡的平板电脑上运行良好。但是,我的手机不支持 sd 卡时遇到一些问题。任何人都可以帮我写代码来保存在内部存储中。谢谢!

    ((Button) findViewById(R.id.btnTaken))
.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
takeImage();
}
});



protected void takeImage() {
Log.i(TAG,"onClick event");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
String currentDateandTime = sdf.format(new Date());
String fileName = Environment.getExternalStorageDirectory().getAbsolutePath() +
"/Image_" + currentDateandTime + ".jpg";


mCamera.takePicture(fileName);
Toast.makeText(this, fileName + " saved", Toast.LENGTH_SHORT).show();


}
public void takePicture(final String fileName) {
Log.i(TAG, "Tacking picture");
PictureCallback callback = new PictureCallback() {

private String mPictureFileName = fileName;

@Override
public void onPictureTaken(byte[] data, Camera camera) {
Log.i(TAG, "Saving a bitmap to file");
Bitmap picture = BitmapFactory.decodeByteArray(data, 0, data.length);
try {
FileOutputStream out = new FileOutputStream(mPictureFileName);
picture.compress(Bitmap.CompressFormat.JPEG, 90, out);
picture.recycle();
mCamera.startPreview();
} catch (Exception e) {
e.printStackTrace();
}
}
};

Camera.ShutterCallback shutter = new Camera.ShutterCallback() {
public void onShutter() {
Log.e(getClass().getSimpleName(), "SHUTTER CALLBACK");
}
};
Camera.PictureCallback raw = new Camera.PictureCallback() {
public void onPictureTaken(byte[] data, Camera c) {
Log.e(getClass().getSimpleName(), "PICTURE CALLBACK RAW: " + data);
mCamera.startPreview();
}
};
mCamera.takePicture(shutter, raw, callback) ;



}

最佳答案

这非常简单..而不是外部文件路径名..你应该给出内部文件路径名..这是 FileOutputStream out = new FileOutputStream(new File(getFilesDir()+File.separator+"MyFile .jpg"));..请尝试一下..它运行良好

还有一点,你应该在Android Manifest.xml文件中添加内部存储的权限

<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/>

关于android - 保存在内部存储中拍摄的照片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15663206/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com