在我的应用程序上,我正在使用手机摄像头,并将图像保存在sd卡上。问题是照片也被保存在手机的内存中。我有什么办法阻止不了吗?
这是启动相机意图的代码:
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
这是将图像保存到sd卡的代码:
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/wardrobe_app");
myDir.mkdirs();
Random generator = new Random();
int n = 10000;
n = generator.nextInt(n);
String fname = "Image-"+ n +".jpg";
File file = new File (myDir, fname);
if (file.exists ()) file.delete ();
try {
FileOutputStream out = new FileOutputStream(file);
finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
file_path = myDir.toString();
img_path = file_path + "/" + fname;
Toast t = Toast.makeText(addClothing.this,
img_path, Toast.LENGTH_LONG);
t.show();
这是将ImageView设置为拍摄的图片的代码:
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
photo = (Bitmap) data.getExtras().get("data");
iv1.setImageBitmap(photo);
SaveImage(photo);
}
谢谢你的帮助!
不幸的是,我相信这是不可能的没有根,至少有意图。您的代码不是问题所在;这是由于相机应用程序的工作方式--当用户拍摄一张照片时,相机应用程序本身会将那张照片保存到设备内存中,并返回一张位图。所以这完全不是你能控制的,除非你有root,可以用反射修改相机app来阻止保存。
另一个选择是直接在你的应用程序中使用相机API。
网上的教程也装不上docker
cmf_is_android() 5.0.180626增加 功能 判断是否为Android访问 参数 无 返回 boolean
问题内容: 使用three.js我有以下内容。 包含多个Object3D实例的场景 几个预定义的摄像机Vector3位置 屏幕调整大小时画布的动态宽度/高度 用户可以选择一个对象(从上方) 用户可以选择相机位置(从上方) 给定正在查看的对象和摄像机位置,他们选择了如何计算最终摄像机位置以“最适合”屏幕上的对象? 如果在某些屏幕上按原样使用摄像机位置,则对象在我的视口边缘上流血,而其他对象看起来较小
当日志打印时,我想屏蔽电话号码和身份证的中间。我不想在每个实体类中更改toString方法。有没有办法从一个长字符串中替换电话号码?
开发的终端用的是安卓11, 这个版本的安卓支持Flutter吗?