android---(分享操作)

这里写图片描述

//当单击按钮时,触发:
public class share extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_share);
    }

//当单击按钮时,触发,自动调用系统分享程序列表
    public void sharedSimple(View view) {
        Intent sendIntent = new Intent();
        //作用
        sendIntent.setAction(Intent.ACTION_SEND);

        //类型
        sendIntent.setType("text/plain");

        //分享的内容
        sendIntent.putExtra(Intent.EXTRA_TEXT,"你是谁啊");

        //启动系统的分享程序
        startActivity(sendIntent);
    }

}
public class share extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_share);
    }


    public void sharedSimple(View view) {
        Intent sendIntent = new Intent();
        //作用
        sendIntent.setAction(Intent.ACTION_SEND);

        //类型
        sendIntent.setType("text/plain");

        //分享的内容
        sendIntent.putExtra(Intent.EXTRA_TEXT, "你是谁啊");

        //指定选择器:参数:intent ,分享列标题
        startActivity(Intent.createChooser(sendIntent, "您好啊"));
    }

}

这里写图片描述

//分享图片:
 public  void  sharedImage(View view){

        //图片路径
        Uri uriImage = Uri.parse("./sdcard/4.jpg");

        Intent sendIntent = new Intent();
        //作用
        sendIntent.setAction(Intent.ACTION_SEND);

        //类型
        sendIntent.setType("image/*");

        //分享的内容
        sendIntent.putExtra(Intent.EXTRA_STREAM, uriImage);

        startActivity(Intent.createChooser(sendIntent,"分享图片到"));
    }

这里写图片描述

//分享多个内容

    public  void  multImage(View view){

        //图片路径
        Uri uriImage1 = Uri.parse("./sdcard/1.jpg");
        Uri uriImage2 = Uri.parse("./sdcard/4.jpg");

        ArrayList<Uri> list = new ArrayList<Uri>();

        list.add(uriImage1);
        list.add(uriImage2);

        Intent sendIntent = new Intent();
        //作用
        sendIntent.setAction(Intent.ACTION_SEND_MULTIPLE);

        //类型
        sendIntent.setType("image/*");

        //分享的内容
        sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,list);

        startActivity(Intent.createChooser(sendIntent, "分享图片到"));


    }

这里写图片描述

这里写图片描述

//自已的app接收数据:会自动在分享列表程序中显示自已的app,
public class ReceiverShared extends AppCompatActivity {

    TextView textView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_receiver_shared);

       textView = (TextView) findViewById(R.id.content);

        handlerContent();
    }

    private void handlerContent() {

        Intent intent = getIntent();

        String type = intent.getType();
        String action = intent.getAction();

        if(Intent.ACTION_SEND.equals(action)){
            if("text/plain".equals(type)){
               //获取内容:
                String info = intent.getStringExtra(Intent.EXTRA_TEXT);

                textView.setText(info);
            }
        }
    }


}

清单配置:
        //接收数据的activity:
        <activity
            android:name=".ReceiverShared"
            android:label="@string/title_activity_receiver_shared" >

            <intent-filter>
                <action android:name="android.intent.action.SEND"></action>

                <category android:name="android.intent.category.DEFAULT"></category>

                <data android:mimeType="text/plain"/>
            </intent-filter>

        </activity>

这里写图片描述

在标题栏上显示像qq 一样的分享图标功能:

//菜单项:
  <item
        android:id="@+id/shares"
        android:orderInCategory="200"
        android:title="分享"
        app:actionProviderClass="android.support.v7.widget.ShareActionProvider"
        app:showAsAction="ifRoom"/>


//activity类:
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.menu_main, menu);

        MenuItem item = menu.findItem(R.id.shares);
//一定是V7下的包
        ShareActionProvider sp = (ShareActionProvider) MenuItemCompat.getActionProvider(item);

        Intent intent = new Intent();

        intent.setAction(Intent.ACTION_SEND);
        intent.setType("text/plain");

//分享的内容
        intent.putExtra(Intent.EXTRA_TEXT, "你好啊1");

        sp.setShareIntent(intent);

        return super.onCreateOptionsMenu(menu);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值