我有一个应用程序,你可以在上面签名。我无法保存图像。我希望该文件保存在 sdcard/signature 中,因为那是我在 strings.xml 中指定的文件夹并创建了该文件夹。但相反,它将图像保存到 DCIM/camera 文件夹,而不是 sdcard/signature 文件夹中。
我已经阅读了有关从 DCIM 文件夹中删除图像的信息,所以这不是问题。但是如果有人能告诉我为什么图像没有保存在 sd/signature 中,我真的会很高兴
在 onCreate 中会发生这种情况(外部目录只是一个名称,例如 StoreSignature 用于存储图像的文件夹):
tempDir = Environment.getExternalStorageDirectory() + "/" + getResources().getString(R.string.external_dir) + "/";
ContextWrapper cw = new ContextWrapper(getApplicationContext());
File directory = cw.getDir(getResources().getString(R.string.external_dir), Context.MODE_PRIVATE);
这是保存方法:
mGetSign.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Log.v("log_tag", "Panel Saved");
boolean error = captureSignature();
if(!error){
mView.setDrawingCacheEnabled(true);
mSignature.save(mView);
Bundle b = new Bundle();
String status = "done";
File path = mypath;
Log.i("info4", path.toString());
String[] arr={status, path.toString()};
b.putStringArray("status", arr);
Log.i("info5", arr.toString());
Intent intent = new Intent();
intent.putExtras(b);
setResult(RESULT_OK,intent);
finish();
}
}
});
最后这是准备文件夹的地方(不知道这是否与is有关)
private boolean prepareDirectory()
{
try
{
if (makedirs())
{
return true;
} else {
return false;
}
} catch (Exception e)
{
e.printStackTrace();
Toast.makeText(this, "Kan het file systeem niet vinden.. Zit de SD-kaart er goed in?", 1000).show();
return false;
}
}
/**
* Creates a directory
*
* @return whether the directory is created or not
*/
private boolean makedirs()
{
File tempdir = new File(tempDir);
if (!tempdir.exists())
tempdir.mkdirs();
if (tempdir.isDirectory())
{
File[] files = tempdir.listFiles();
for (File file : files)
{
if (!file.delete())
{
System.out.println("Deleten is mislukt " + file);
}
}
}
return (tempdir.isDirectory());
}
Strings.xml(签名值)
<string name="cancel">Annuleren</string>
<string name="clear">Opnieuw</string>
<string name="save">Opslaan</string>
<string name="naam">Naam</string>
<string name="external_dir">Handtekening</string>
<string name="input"></string>
<string name="title_activity_signature">Handtekening</string>
有没有人看到我做错了什么?
提前致谢!