【发布时间】:2013-05-16 11:05:07
【问题描述】:
我需要有关此 Android 应用程序的帮助! 我刚开始在 Android 上进行开发,对于一个学校的项目,我必须创建一个可以扫描二维码并拍摄照片的应用程序。
我在拍摄照片时遇到问题,我想拍摄照片,按“勾选按钮”确认,打开一个允许您在Image 上添加评论的新意图,然后通过另一个按钮我将在 ArrayAdapter 内投放广告。
我会尝试向您展示有问题的代码部分,如果需要更多内容,请询问!
TakePhoto 方法在 Fragment 内,按下按钮启动 camera 意图。
public void TakePhoto() {
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
int imageNum = 0;
File imagesFolder = new File(Environment.getExternalStorageDirectory(),"aMuse");
imagesFolder.mkdirs();
String fileName = "image_" + String.valueOf(imageNum) + ".jpg";
File output = new File(imagesFolder, fileName);
while (output.exists()){
imageNum++;
fileName = "image_" + String.valueOf(imageNum) + ".jpg";
output = new File(imagesFolder, fileName);
}
Uri uriSavedImage = Uri.fromFile(output);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
getActivity().startActivityForResult(intent, 100);
}
onActivityResult 位于 FragmentActivity 内,其中包含另外 2 个 Fragment,我需要将拍摄的图像传递给另一个意图 (imageResult),这将显示拍摄的照片并允许通过EditText.
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanResult != null) {
Intent qrResult = new Intent(this, QrResult.class);
String resultString = scanResult.getContents();
qrResult.putExtra(EXTRA_MESSAGE, resultString);
startActivity(qrResult);
}
else{
switch (requestCode) {
case 100:
if (resultCode == Activity.RESULT_OK) {
Intent imageResult = new Intent(this, ImagePreview.class);
startActivity(imageResult);
}
}
}
在这种情况下,应用程序(据我所知)将照片保存在 SD/aMuse 中,名称为 image_nn.jpg。我需要做的是获取这张照片并将 imageResult 设置为位图。我尝试通过 .putExtra 方法传递 uri,但它崩溃并给出“空指针异常”错误。
【问题讨论】:
标签: android android-intent bitmap camera