【发布时间】:2014-04-02 06:07:36
【问题描述】:
大家好,我正在尝试从我的应用中拍摄快照,该应用使用设备中现有的相机应用。我已按照 Android 开发人员网站上提供的步骤进行操作。
public boolean onMenuItemSelected(int featureId, MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case R.id.pic_take:
i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, cameraData);
return true;
}
return super.onMenuItemSelected(featureId, item);
}
接下来是:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == cameraData && resultCode == RESULT_OK){
Bundle extras = data.getExtras();
bmp = (Bitmap) extras.get("data");
cameraView.setImageBitmap(bmp);
}
}
我还确保我的模拟器启用了前后摄像头。
请不要关闭此问题。问题是当我选择相机未打开的选项并且活动日志中也没有错误时。应用程序也不会崩溃: 当我单击该选项时,我在活动日志中收到的唯一消息是:
04-01 17:44:16.665: I/Choreographer(1227): Skipped 48 frames! The application may be doing too much work on its main thread.
请帮我解决这个问题。
【问题讨论】:
-
如果您尝试过,请告诉我它是否可以在真实设备上运行 :)