扩展意图以改变外观和额外内容

时间:2014-08-13 15:34:41

标签: android android-intent android-camera android-camera-intent

当我启动我的Intents时,我想在底部添加一个文本字段,用户可以在其中获取可以更改的默认文件名。我希望相机和文件选择器都有这种行为。

这就是我现在启动我的意图的方式。

private void takeOrSelectPhoto() {
    Intent pickIntent = new Intent();
    pickIntent.setType("image/*");
    pickIntent.setAction(Intent.ACTION_GET_CONTENT);

    Intent takePhotoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    takePhotoIntent.putExtra(MediaStore.EXTRA_OUTPUT, CAMERA_TEMP_FILE_URI);

    String pickTitle = getResources().getString(R.string.select_or_take_picture);
    Intent chooserIntent = Intent.createChooser(pickIntent, pickTitle);
    chooserIntent.putExtra
            (
                    Intent.EXTRA_INITIAL_INTENTS,
                    new Intent[] { takePhotoIntent }
            );
    startActivityForResult(chooserIntent, SELECT_PICTURE_REQUEST_CODE);
}

这就是我以后抓图的方式。

protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    if (requestCode == SELECT_PICTURE_REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
            // Save image to sdcard 
        }
    }
}

是否可以延长活动或者我必须以完全不同的方式做到这一点?如果是这样,我可以指出正确的方向。

2 个答案:

答案 0 :(得分:0)

您应该在发送活动时将其添加到捆绑中以实现意图。

答案 1 :(得分:-1)

您无法扩展意图以影响其他活动(例如图库)。

当一个Activity获得意图时,它会尝试只读取与该活动相关的元素。例如,如果您尝试使用键" this_is_a_key_test"添加一个额外的字符串添加,则Gallery Activity将无法识别。为了你的意图。

您首先需要在活动中处理这些额外数据,然后才能在意图中使用它。