【问题标题】:Extend Intent to change look and extras扩展意图以更改外观和附加功能
【发布时间】:2014-08-13 15:34:41
【问题描述】:

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

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

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 
        }
    }
}

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

【问题讨论】:

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


    【解决方案1】:

    您应该在发送活动时将其添加到 Intent 中。

    【讨论】:

      【解决方案2】:

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

      当 Activity 获得意图时,它会尝试仅读取与该 Activity 相关的元素。例如,如果您尝试将带有键“this_is_a_key_test”的额外字符串添加到您的意图中,Gallery Activity 将不会知道。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-29
        • 2019-05-17
        • 1970-01-01
        • 2014-06-18
        • 1970-01-01
        相关资源
        最近更新 更多