我对Android非常陌生但是已经在google网站上完成了这些示例 - 我就是在这个:http://developer.android.com/training/camera/index.html
这是一个简单的"在android上使用相机功能的例子。有一个调用意图的按钮。意图如下所示。
private void dispatchTakePictureIntent(int actionCode) {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
switch(actionCode) {
case ACTION_TAKE_PHOTO_B:
File f = null;
try {
f = setUpPhotoFile();
mCurrentPhotoPath = f.getAbsolutePath();
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));
} catch (IOException e) {
e.printStackTrace();
f = null;
mCurrentPhotoPath = null;
}
break;
default:
break;
} // switch
startActivityForResult(takePictureIntent, actionCode);
如上所示,关键MediaStore.EXTRA_OUTPUT的意图putExtra。在android的网站上:http://developer.android.com/reference/android/provider/MediaStore.html#EXTRA_OUTPUT它表示MediaStore.EXTRA_OUTPUT的常量值为"输出"。
一旦用户点击按钮,就会调用intent,以下是代码中给出的onActivityResult方法的摘录:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case ACTION_TAKE_PHOTO_S: {
if (resultCode == RESULT_OK) {
handleSmallCameraPhoto(data);
}
break;
} // ACTION_TAKE_PHOTO_S
方法handleSmallCameraPhoto(data);然后被叫。这是handleSmallCameraPhoto的代码。
private void handleSmallCameraPhoto(Intent intent) {
Bundle extras = intent.getExtras();
mImageBitmap = (Bitmap) extras.get("data");
mImageView.setImageBitmap(mImageBitmap);
mVideoUri = null;
mImageView.setVisibility(View.VISIBLE);
mVideoView.setVisibility(View.INVISIBLE);
}
现在在上面的方法中,我们想从intent中获取fromExtras - 所以我们正在提取的方法dispatchTakePictureIntent中的putExtra是什么。
我们在这里看到这一行。
mImageBitmap = (Bitmap) extras.get("data");
不是"数据"在extras.get(" data")内部为android提取额外数据的关键?从dispatchTakePictureIntent,键是MediaStore.EXTRA_OUTPUT,其常量为"输出"不是"数据",android如何知道与"数据相关的内容"?
答案 0 :(得分:0)
确定。我实际上在android网站上找到了答案。答案如下:http://developer.android.com/training/camera/photobasics.html#TaskPath标题下的#34;获取缩略图"
这是一个特例,Android使用名为" data"的密钥保存缩略图。意图。
该网站说:这是来自"数据"的缩略图。可能对图标有好处,但不是更多。