我需要有关此 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,但它崩溃并给出“空指针异常”错误。