3
您必须忍耐,我对Android非常陌生,我的Java技能充其量也是“生锈的”。在Android中从相机中保存图片
我非常激动地得到条码扫描位,确实工作很少,但相机方面的事情确实并不容易。
我有一个主要的Activity类,启动时需要一个条形码;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button cameraButton = (Button) findViewById(R.id.cameraButton);
cameraButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
IntentIntegrator.initiateScan(MakroDroidActivity.this, "Please scan order barcode", "Please scan a valid order barcode", "Yes", "No");
}
});
}
工作至今,我正确处理如图所示的意图:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode) {
case IntentIntegrator.REQUEST_CODE: {
if (resultCode != RESULT_CANCELED) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (scanResult != null) {
String upc = scanResult.getContents();
if (upc.startsWith("ORD"))
{
//we have a valid order barcode
Camera cam = Camera.open();
cam.takePicture(shutterCallback, rawCallback, jpegCallback);
}
else
{
IntentIntegrator.initiateScan(MakroDroidActivity.this, "Please scan again", "Please scan a valid order barcode", "Yes", "No");
}
}
}
break;
}
}
}
我有回调设置(目前正与他们没有代码),但条形码扫描后,该设备只是显示一个黑屏。然后我需要在调试应用程序后重新启动设备,因为相机不再可用(我怀疑我没有清理我的参考,因此相机锁定到我的应用程序)
有人可以向我解释我怎么去有关使用相机和保存输出到SD卡(我打算使用一个特定的文件夹在SD卡上的东西,如:
filepath = filepath + UUID.randomUUID().toString() + ".jpg";
到一个新的,不冲突的文件名保存到文件夹。 (设备是一个T-Mobile脉冲迷你(我相信华为制造),我看到其他人说有驱动程序问题与相机,但我更倾向于相信这是缺乏我的理解,而不是硬件问题。)
在此先感谢您提供的任何帮助。