0

我想知道是否可以使用相机拍摄图像,然后在我的应用程序背景中使用该图像。我可以在我的应用程序中拍摄和预览图像,但不知道如何将该数据传递给将其设置为背景图像的类。有没有一种动态的方式来获取这张照片并将其设置为我的应用程序中的背景?

4

1 回答 1

1

要启动相机意图:

... 
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
activity.startActivityForResult(takePictureIntent, PHOTO_ACTIVITY_REQUEST_CODE);
...

其中 PHOTO_ACTIVITY_REQUEST_CODE 只是一个在活动中唯一的整数常量,在启动结果意图时用作请求代码。

在 onActivityResult 中接收照片,并更新视图的背景

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == PHOTO_ACTIVITY_REQUEST_CODE && data != null) {
        Bundle extras = data.getExtras();
        if (extras != null) {
            Bitmap photo = (Bitmap) extras.get("data");
            if (photo != null) {
                // mView should refer to view whose reference is obtained in onCreate() using findViewById(), and whose background you want to update
                mView.setBackground(new BitmapDrawable(getResources(), photo));
            }
        }
    }
}

上面的代码不使用全尺寸照片。为此,您必须要求 Photo Intent 将其保存到文件中,然后读取该文件。详细信息在这里

于 2013-07-08T16:59:42.243 回答