【发布时间】:2015-03-17 22:39:21
【问题描述】:
本质上,我正在创建一个相机类,并且在相机类中我正在调用使用手机相机的意图。但是,我无法获取和显示图片,因为我没有在类中使用 startActivityForResult 方法。 startActivityForResult 方法在我的班级中不起作用,所以我改用 startActivity 方法。我尝试创建一个类方法将图片的位图传递给 mainActivity 所以我可以在 imageview 中显示图像,但它不会工作。如果您对我的问题有任何建议,这是我的代码:
import java.io.File;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.View;
import android.os.Bundle;
public class cameraLIBRARY{
private final Context mContext;
private Bitmap imageBitmap;
private Bundle Bundle;
public static String logtag = "Cam";
private static int PICTURE = 1;
private Uri imageUri;
//class constructor
public cameraLIBRARY(Context context){
this.mContext = context;
}
public void takePhoto(View v) {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
File photo = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "pic.jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
imageUri = Uri.fromFile(photo);
mContext.startActivity(intent);
}
}
【问题讨论】:
-
startActivityForResult 有什么问题?
-
当我在课堂上使用 startActivityForResult 时。该应用程序终止,因为它无法打开相机。当我使用 startActivity 时,相机打开就好了。
-
基本上,我在自己的课堂上实现了这个网站(developer.android.com/training/camera/photobasics.html)中的示例,但它不会工作。但是,当我在 MainActivity 中实现它时,它工作正常。
标签: android android-camera-intent