我正在创建一个模块,就像我可以访问摄像头来捕获图像一样,捕获的图像只能通过不在图库中的应用程序或文件管理器中看到。我创建了它。但仅限于像三星Mi这样的手机手机图像不可见,但只有一个,索尼图像是可见的,为什么这样,它在一些手机而不是在一些手机中工作
我的代码:
private void createDirectoryAndSaveFile(Bitmap imageToSave) {
File direct = new File(getFilesDir() + "/CAT_IMG/");
String timeStamp = new SimpleDateFormat("ddMMyyyy_HHmmss").format(new Date());
String fileName = "fav" + timeStamp + ".JPG";
if (!direct.exists()) {
// File wallpaperDirectory = new File("/CAT_IMG");
direct.mkdir();
}
File file = new File(direct, fileName);
if (file.exists()) {
file.delete();
}
try {
FileOutputStream out = new FileOutputStream(file);
imageToSave.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1 && resultCode == Activity.RESULT_OK) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
createDirectoryAndSaveFile(photo);
Log.e("URI", data.getExtras().get("data") + "");
}
}
答案 0 :(得分:0)
您需要AndroidManifest.xml中的权限
[spotifyplaybutton play="spotify:album:6ttYxo44Qt6rC1z8ibKn9s" view=”coverart” size=”0″ sizetype=”compact” theme=”white”]
创建目录: -
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/>
答案 1 :(得分:0)
如果要将文件存储在应用程序的根目录中,则应使用getExternalFilesDir
在应用程序的根目录中创建目录,如下所示:
File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
if (!storageDir.exists()) {
storageDir.mkdirs();
}
然后将您的图像文件放在目录中。另外,请不要忘记在AndroidManifest.xml
中提供读取和写入存储空间的权限,如下所示:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />