我已经从我的应用程序中创建了一个startcam ..这就是凸轮活动的样子......我不知道如何点击拍照,按钮在哪里?
我想要做的是,当他拍摄照片并且他已经完成状态时,他点击“完成按钮”,这样照片就会显示在我的应用上。
答案 0 :(得分:1)
您无法使用模拟器拍照,我听说有一个图书馆使用网络摄像头来集成功能,但我没有使用它,所以它可能是一个秘密。
所以,很遗憾地说,但你需要一台设备来测试它。
Per developers.android.com:
模拟器限制在此 释放,限制了 模拟器包括:
- 不支持拨打或接听实际的电话。你可以模拟 电话(放置和接收) 但是,通过模拟器控制台。
- 不支持USB连接
- 不支持相机/视频捕捉(输入)。
- 不支持设备连接耳机
- 不支持确定连接状态
- 不支持确定电池电量和AC充电状态
- 不支持确定SD卡插入/弹出
- 不支持蓝牙
希望有一天他们会加上它。
答案 1 :(得分:1)
我在developers.android.com上看到同样的事情,但我的模拟器有一个工作的相机应用程序。模拟器上的相机按钮本身没有任何作用,但我可以从我的应用程序访问它,它给了我一个这样的相机:
您会看到左下方的按钮拍摄照片,然后会弹出一个确定按钮,然后将其返回到您的代码中。
我的模拟器设置为:
我相信你需要SD卡,不确定其他任何事情。
答案 2 :(得分:1)
您可以使用USB调试在物理设备上调试相机应用程序。
要拍摄并保存图片,您需要一个类似于此的回调: `
Camera.PictureCallback mPictureCallback = new Camera.PictureCallback(){
@Override
public void onPictureTaken(byte[] data, Camera camera) {
try {
File sdTargetDirectory = new File("/sdcard/directory");
sdTargetDirectory.mkdirs(); // make the above directory if it does not exist
FileOutputStream fos = null;
String fileName = "temp";
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
fos = new FileOutputStream(sdTargetDirectory.toString() +"/" + fileName + ".jpg");
BufferedOutputStream bos = new BufferedOutputStream(fos);
bitmap.compress(CompressFormat.JPEG, 100, bos);
bos.flush();
bos.close();
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
您可以在触摸或按钮事件中实现该回调,如下所示:
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_UP:
camera.takePicture(null, null, mPictureCallback);
break;
}
return true;
}
答案 3 :(得分:0)
请在模拟器设置中启用相机。您应该将模拟器设置为:
camera support = yes
我认为此功能适用于Android 4.0版本,但我不确定。