Android 如何在ListView中使用摄影机意图 public void CAPTURE() { 最终ListView mListView=(ListView)findViewById(R.id.lvImage); ..设置适配器。。。 setOnItemClickListener(新的OnItemClickListener(){ public void onItemClick(AdapterView myAdapter、View myView、final int position、long mylng) { 意向意向=新意向(MediaStore.ACTION\u IMAGE\u CAPTURE); File imagesFolder=新文件(Environment.getExternalStorageDirectory(),“MyImage”); imagesFolder.mkdirs(); filePath=“/MyImage/test.png”; File image=新文件(imagesFolder,“test.png”); uriurisavedimage=Uri.fromFile(图像); intent.putExtra(MediaStore.EXTRA_输出,uriSavedImage); startActivityForResult(意图、摄像机请求); } }); } 受保护的void onActivityResult(int请求代码、int结果代码、意图数据) { super.onActivityResult(请求代码、结果代码、数据); if(resultCode==RESULT\u OK&&requestCode==CAMERA\u REQUEST) { 字符串p=Environment.getExternalStorageDirectory()+文件路径; 位图=位图工厂.decodeFile(p); ByteArrayOutputStream=新建ByteArrayOutputStream(); compress(bitmap.CompressFormat.PNG,100,流); byte[]byteArray=stream.toByteArray(); Intent Intent=新的Intent(getApplicationContext(),ImageActivity.class); intent.putExtra(“图像”,byteArray); 意向。额外(“路径”,p); 星触觉(意向); } } }

Android 如何在ListView中使用摄影机意图 public void CAPTURE() { 最终ListView mListView=(ListView)findViewById(R.id.lvImage); ..设置适配器。。。 setOnItemClickListener(新的OnItemClickListener(){ public void onItemClick(AdapterView myAdapter、View myView、final int position、long mylng) { 意向意向=新意向(MediaStore.ACTION\u IMAGE\u CAPTURE); File imagesFolder=新文件(Environment.getExternalStorageDirectory(),“MyImage”); imagesFolder.mkdirs(); filePath=“/MyImage/test.png”; File image=新文件(imagesFolder,“test.png”); uriurisavedimage=Uri.fromFile(图像); intent.putExtra(MediaStore.EXTRA_输出,uriSavedImage); startActivityForResult(意图、摄像机请求); } }); } 受保护的void onActivityResult(int请求代码、int结果代码、意图数据) { super.onActivityResult(请求代码、结果代码、数据); if(resultCode==RESULT\u OK&&requestCode==CAMERA\u REQUEST) { 字符串p=Environment.getExternalStorageDirectory()+文件路径; 位图=位图工厂.decodeFile(p); ByteArrayOutputStream=新建ByteArrayOutputStream(); compress(bitmap.CompressFormat.PNG,100,流); byte[]byteArray=stream.toByteArray(); Intent Intent=新的Intent(getApplicationContext(),ImageActivity.class); intent.putExtra(“图像”,byteArray); 意向。额外(“路径”,p); 星触觉(意向); } } },android,listview,android-camera-intent,onactivityresult,Android,Listview,Android Camera Intent,Onactivityresult,单击listview中的项目并创建文件夹时,我调用camera intent 文件图像这是工作 我去文件夹,看到一个完美的图像 但我的ONACTIVE结果不起作用仍然在这个活动中 我想将path和imagebyte传递给下一个活动 我尝试将finish()放置在down startActivityForResult(意图、摄像头请求); 但不起作用 我该怎么办?请帮助我。对不起,英语不好 非常感谢通过此方法,您可以从摄像头上传图像: public void CAPTURE() { fin

单击listview中的项目并创建文件夹时,我调用camera intent 文件图像这是工作 我去文件夹,看到一个完美的图像 但我的ONACTIVE结果不起作用仍然在这个活动中 我想将path和imagebyte传递给下一个活动

我尝试将finish()放置在down startActivityForResult(意图、摄像头请求); 但不起作用

我该怎么办?请帮助我。对不起,英语不好


非常感谢

通过此方法,您可以从摄像头上传图像

public void CAPTURE()
{
    final ListView mListView = (ListView)findViewById(R.id.lvImage);    

    .... set adapter ... 

    mListView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> myAdapter, View myView,final int position,long mylng)
        {               

            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

            File imagesFolder = new file(Environment.getExternalStorageDirectory(), "MyImage");
            imagesFolder.mkdirs();
            filePath = "/MyImage/test.png";
            File image = new File(imagesFolder, "test.png");
            Uri uriSavedImage = Uri.fromFile(image);
            intent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
            startActivityForResult(intent, CAMERA_REQUEST);
        }
    });
}


protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{

    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK && requestCode == CAMERA_REQUEST) 
    {

        String p = Environment.getExternalStorageDirectory() + filePath;

            bitmap = BitmapFactory.decodeFile(p);
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);            
            byte[] byteArray = stream.toByteArray();


            Intent intent = new Intent(getApplicationContext(),ImageActivity.class);
            intent.putExtra("image", byteArray);
            intent.putExtra("path", p);

            startActivity(intent);
        }

     }
}
同时在清单中授予以下权限

Uri myPicture;
private static final int CAMERA_REQUEST = 1888;
public void camera_upload()
{

    ContentValues values = new ContentValues();
    values.put(Media.TITLE, "My demo image");
    values.put(Media.DESCRIPTION, "Image Captured by Camera via an Intent");
    myPicture = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);

    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, myPicture);
    startActivityForResult(cameraIntent, CAMERA_REQUEST);

}
在活动中获取图像的方法(NextActivity)


嘿,您没有从onactivityresult中的intent中提取数据,而您已经在startactivityforresult中输入了intent

您是否已授予写入外部存储的权限?我知道这一点,但我想在onActivityResult管理中执行下一个活动上载后您想执行下一个活动吗?我通过camera_intent单击项目时在listview中创建图像,我想传递数据以在下一个活动中上载,但onActivityResult似乎不起作用我使用camera intent在listview中,当单击项目但似乎处于活动状态时,结果无法解决此问题
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
      <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.CAMERA" />
Intent i = new Intent(getApplicationContext(),
                        Set_theme_Activity.class);
                // passing array index
                i.putExtra("id", position);
                startActivity(i);
                finish();
Intent i = getIntent();
        // Selected image id
        int position = i.getExtras().getInt("id");
        ImageAdaptor imageAdapter = new ImageAdaptor(this);