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);
}
}
}
我在点击列表视图中的项目并创建文件夹时调用相机意图 和文件图像这是有效的 我去文件夹,看到一个完美的图像 但是我的onActivityResult仍然没有工作 我想将path和imagebyte传递给下一个活动
我尝试在startActivityForResult(intent,CAMERA_REQUEST)下放置finish(); 但没有工作
我该怎么办请帮助我。抱歉英文不好
非常感谢
答案 0 :(得分:0)
通过此方法,您可以上传相机中的图像:
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);
}
还在清单中提供以下权限:
<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();
在活动中获取图片的方法(NextActivity)
Intent i = getIntent();
// Selected image id
int position = i.getExtras().getInt("id");
ImageAdaptor imageAdapter = new ImageAdaptor(this);
答案 1 :(得分:0)
嘿,你没有从onactivityresult中提取意图中的数据,而这些数据是你在startactivityforresult中的意图。