我目前可以使用Es File资源管理器将图像保存到我的应用程序中。
但我想知道的是,如何消除选择文件夹的过程并在代码中指定它?
public void SaveToNetwork() {
Intent shareIntent = new Intent(Android.Content.Intent.ActionSend);
shareIntent.SetType("*/*");
shareIntent.PutExtra(Android.Content.Intent.ExtraStream, Android.Net.Uri.FromFile(new File(App._dir, App._file.Name)));
shareIntent.SetPackage("com.estrongs.android.pop");
StartActivity(shareIntent);
}
我不想使用文件资源管理器。我只想将其直接保存到文件夹中,或者至少将默认选择的文件夹更改为正确的文件夹。
答案 0 :(得分:0)
android为此提供了File类和outpustream类以下是一个示例代码,它将位图重新存储并保存到指定文件夹,然后将图像添加到图库内容提供程序
private String savePic(Bitmap bitmapImage) {
try {
//bitmapImage=drawView.getmCanvasBitmap();
File dir = new File(
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
"youfoldername");
dir.mkdir();
Calendar c = Calendar.getInstance();
if (dir.isDirectory()) {
String path = dir.getAbsolutePath() + "/youfilename"
+ c.getTimeInMillis() + ".Jpg";
FileOutputStream fos = new FileOutputStream(path);
// Use the compress method on the BitMap object to write image
// to
// the OutputStream
bitmapImage.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.close();
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis());
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
values.put(MediaStore.MediaColumns.DATA, path);
getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/Jpg");
intent.putExtra(android.content.Intent.EXTRA_STREAM,
Uri.parse("file://" + path));
startActivity(intent);
return path;
}
} catch (Exception e) {
e.printStackTrace();
}
return "";
}