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); 星触觉(意向); } } }
单击listview中的项目并创建文件夹时,我调用camera intent 文件图像这是工作 我去文件夹,看到一个完美的图像 但我的ONACTIVE结果不起作用仍然在这个活动中 我想将path和imagebyte传递给下一个活动 我尝试将finish()放置在down startActivityForResult(意图、摄像头请求); 但不起作用 我该怎么办?请帮助我。对不起,英语不好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
非常感谢通过此方法,您可以从摄像头上传图像:
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);