109 Java Android Program to Demonstrate Share Action Provider in Android
Posted by Superadmin on February 28 2017 12:47:21

Java Android Program to Demonstrate Share Action Provider in Android

Here is source code of the Program to Demonstrate Share Action Provider in Android. The program is successfully compiled and run on a Windows system using Eclipse Ide. The program output is also shown below.

 

Main Activity

package com.example.share_action_provider;
 
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ShareActionProvider;
 
@SuppressLint("NewApi")
public class MainActivity extends Activity {
 
    private ShareActionProvider provider;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
 
        // Get the ActionProvider for later usage
        provider = (ShareActionProvider) menu.findItem(R.id.menu_share)
                .getActionProvider();
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.menu_share:
            doShare();
            break;
        default:
            break;
        }
        return true;
    }
 
    public void doShare() {
        // populate the share intent with data
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("text/plain");
        intent.putExtra(Intent.EXTRA_TEXT, "message");
        provider.setShareIntent(intent);
    }
}

Activity_Main

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="178dp"
        android:text="Demonstrate Share Action Provider"
        android:textAppearance="?android:attr/textAppearanceLarge" />
 
</RelativeLayout>