Como compartilhar texto e imagem no Android

Nível: básico.
Nesse tutorial vou demostrar como é simples e fácil compartilhar texto e imagem no Android.

Criei um projeto no Android Studio com a opção “Blank Activity”, como demonstra a figura 1.
Captura de Tela 2015-03-13 às 16.52.09

No nosso layout vai ter apenas uma imagem(ImageView) e dois botões(buttons), como vocês podem ver na figura 2.

Captura de Tela 2015-03-19 às 10.28.49

No método “onCreate” da Activity, vamos capturar os elementos do layout e adicionar os eventos para click nos botões.

ImageView imageView = ( ImageView ) findViewById( R.id.imageview );
imageView.setImageResource( R.drawable.android );

Button btShareText = ( Button ) findViewById( R.id.bt_share_text );
Button btShareImage = ( Button ) findViewById( R.id.bt_share_image );

 btShareText.setOnClickListener( new View.OnClickListener() {
            @Override
            public void onClick( View v ) {
                shareText();
            }
        } );

        btShareImage.setOnClickListener( new View.OnClickListener() {
            @Override
            public void onClick( View v ) {
                shareImage();
            }
} );

Dentro do método “shareText” adicione o código a seguir e após adicioná-lo, faça alguns teste de compartilhamento.

private void shareText() {
        // cria a intent e define a ação
        Intent intent = new Intent( Intent.ACTION_SEND );
        // tipo de conteúdo da intent
        intent.setType( "text/plain" );
        // string a ser enviada para outra intent
        intent.putExtra( Intent.EXTRA_TEXT, "tutorial blog como compartilhar text no android." );
        // inicia a intent
        startActivity( intent );
}

Agora, dentro do método “shareImage”, adicione o seguinte código:

private void shareImage() {

        StringBuilder strBuilder = new StringBuilder();
        strBuilder.append( "android.resource://" )
                // defina o seu package aqui
                .append( "com.luizgadao.sharetextandimage/" )
                //drawable a ser capturado, repare que esse é o drawable definido no src do ImageView
                .append( "drawable/android" );

        //captura a uri do drawable que está no Imageview
        Uri uriImage = Uri.parse( strBuilder.toString() );
        // cria a intent e define a ação
        Intent intent = new Intent( Intent.ACTION_SEND );
        // tipo de conteúdo da intent
        intent.setType( "image/*" );
        // stream a ser compartilhado
        intent.putExtra( Intent.EXTRA_STREAM, uriImage );

        startActivity( intent );
    }

Nos testes que fiz não foi possível compartilhar texto nem imagem no Facebook. No próximo tutorial vou demonstrar como capturar o click ao selecionar um determinado aplicativo, com isso você pode utilizar o SDK do Facebook para compartilhar, conforme sua necessidade.

Segue o vídeo da aplicação rodando no Android.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>