hook_field_extra_fields: hidden by default When implementing hook_field_extra_fields(), can I make the extra field hidden by default?

Sometimes it is friendlier to offer the extra fields as an option, instead of displaying it immediately after a module is enabled.
In _field_info_prepare_extra_fields() the extra fields are set to visible by default, but the extra field settings are stored in the field_bundle_settings variable which you can change in your module's hook_install() like:

$entity_type = 'node';
$bundle = 'article';
$field_name = 'my_extra_field';
$view_mode = 'teaser';

$field_bundle_setting = variable_get('field_bundle_settings', array());
$field_bundle_setting[$entity_type][$bundle]['extra_fields']['display'][$field_name][$view_mode]['visible'] = FALSE;
variable_set('field_bundle_settings', $field_bundle_setting);