大家好,请问如何把相片存储到手机的存储卡中?

bit6211 2009-12-11
大家好,我想把拍到的相片存到存储卡中,而不想存到RMS中,因为存储卡比较大(2G)。遇到许多问题,在这里向大家请教,麻烦了。
我的代码如下:
public void save(){
  String name=imageName.getString(); 
          String initDir = System.getProperty("fileconn.dir.photos");
  System.out.println(initDir);
//   String initDir = "file:///e:/Nokia/Images/";
  try{
  System.out.println( initDir + name);
  FileConnection fc = (FileConnection) Connector.open(initDir + name, Connector.READ_WRITE);
          fc.create();
       
          OutputStream fos=fc.openOutputStream();
          fos.write(raw);
          fos.close();
  }catch(Exception e){
  e.printStackTrace();
  return;
  }
  Alert a = new Alert("Save Resuit:", "save success...", null, null);
  a.setTimeout(5000);
  mDisplay.setCurrent(a, f);
        
  }
我分别模拟机Prototype_4_0_S40_128x128_MIDP_Emulator和 Prototype_4_0_S60_MIDP_Emulator上测试。(security domain都为real_life,security domain为trusted_3rd_party我也测过)
情况如下:
1,Prototype_4_0_S40_128x128_MIDP_Emulator
当String initDir = System.getProperty("fileconn.dir.photos");时,
(即initDir = file:///c:/Nokia/Images/),报异常java.lang.SecurityException: Application not authorized to access the restricted API;
当String initDir = "file:///e:/Nokia/Images/";时,也报异常java.lang.SecurityException: Application not authorized to access the restricted API。
2,Prototype_4_0_S60_MIDP_Emulator
当String initDir = System.getProperty("fileconn.dir.photos");时,
(即initDir = file:///c:/Nokia/Images/),报异常java.lang.SecurityException: Application not authorized to access the restricted API;
当String initDir = "file:///e:/Nokia/Images/";时,也报异常java.lang.SecurityException: Application not authorized to access the restricted API。

然后我在真机nokia6300上测试,情况如下:
String initDir = System.getProperty("fileconn.dir.photos");和
String initDir = "file:///e:/Nokia/image/";时,都出现提示:应用软件被设为不允许访问。

请问我想把相片存到存储卡中,我应该怎么写?谢谢。
bit6211 2009-12-17
自己解答一下,经过参考资料,发现只有支持jsr-75协议的手机才能使用,FileConnection相关的API。换句话说,就是诺基亚S60系列手机才支持FileConnection的操作。谢谢大家。
Global site tag (gtag.js) - Google Analytics