Java 访问照片库-Android应用程序

Java 访问照片库-Android应用程序,java,android,eclipse,android-studio,Java,Android,Eclipse,Android Studio,我正在开发一个应用程序来访问移动照片库,并在选择后上传图片。应用程序正在完美地加载所有照片,但相机拍摄的照片除外。 有人会帮我吗 MainActivity.java activity_main.xml 当我读到你的问题时,我知道你正试图用相机拍摄一张照片,并试图将其设置为imageview。如果我错了,请纠正我 要从相机上传图片,您必须尝试不同的意图 Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE

我正在开发一个应用程序来访问移动照片库,并在选择后上传图片。应用程序正在完美地加载所有照片,但相机拍摄的照片除外。 有人会帮我吗

MainActivity.java

activity_main.xml


当我读到你的问题时,我知道你正试图用相机拍摄一张照片,并试图将其设置为imageview。如果我错了,请纠正我

要从相机上传图片,您必须尝试不同的意图

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
startActivityForResult(cameraIntent, CAMERA_REQUEST); 
在onActivityResult方法中,添加以下代码行

if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {  
            Bitmap photo = (Bitmap) data.getExtras().get("data"); 
            img.setImageBitmap(photo);
        }  

如果我没弄错,你正在尝试用你的设备相机拍摄照片,并在应用程序中使用该照片,网上有很多这样的例子,但这里我会给你一些我认为很容易理解的东西,至少我认为这里的代码是: 1-将其定义为全局变量:

Intent i;
final static int cameraData=0; 
Bitmap bmp;
2-在您的点击方式或您正在使用的任何拍照方式中,请使用以下内容:

i=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(i,cameraData);
3-调用ActivityResult方法:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == RESULT_OK){
        Bundle extras=data.getExtras();
        bmp = (Bitmap) extras.get("data");
        iv.setImageBitmap(bmp);
    }
}
给你,我能找到的最简单的希望,它将为你工作。
祝你好运

我的代码访问移动图像库,即内存中存在的图像。我的问题是,当我访问手机上的照片库时,我选择的任何照片都会更新ImageView,但相机拍摄的照片除外。如果你运行我的代码,我会完全理解。多谢各位@PremMy代码访问存在于内存中的移动图像库。我的问题是,当我访问手机上的照片库时,我选择的任何照片都会更新ImageView,但相机拍摄的照片除外。如果你运行我的代码,我会完全理解。多谢各位@Ahmad Alsani可能的副本
i=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(i,cameraData);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == RESULT_OK){
        Bundle extras=data.getExtras();
        bmp = (Bitmap) extras.get("data");
        iv.setImageBitmap(bmp);
    }
}