友盟分享及第三方

依赖:implementation files(‘libs/umeng-analytics-8.0.0.jar’)
implementation files(‘libs/umeng-common-2.0.0.jar’)
implementation ‘com.jakewharton:butterknife:8.8.1’
annotationProcessor ‘com.jakewharton:butterknife-compiler:8.8.1’
implementation ‘com.jakewharton:butterknife:8.8.1’
annotationProcessor ‘com.jakewharton:butterknife-compiler:8.8.1’
implementation files(‘libs/umeng-share-core-6.9.4.jar’)
implementation files(‘libs/umeng-share-QQ-simplify-6.9.4.jar’)
implementation files(‘libs/umeng-shareboard-widget-6.9.4.jar’)
implementation files(‘libs/umeng-sharetool-6.9.4.jar’)

package com.example.youmeng;

import android.Manifest;
import android.content.Intent;
import android.media.Image;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import com.umeng.socialize.ShareAction;
import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.UMShareListener;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.editorpage.ShareActivity;
import com.umeng.socialize.media.UMImage;

import java.util.Map;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

import static com.example.youmeng.R.drawable.ff;

public class MainActivity extends AppCompatActivity {

@BindView(R.id.share1)
Button share1;
@BindView(R.id.share2)
Button share2;
@BindView(R.id.share3)
Button share3;



private UMShareListener shareListener = new UMShareListener() {
    /**
     * @descrption 分享开始的回调
     * @param platform 平台类型
     */
    @Override
    public void onStart(SHARE_MEDIA platform) {

    }

    /**
     * @descrption 分享成功的回调
     * @param platform 平台类型
     */
    @Override
    public void onResult(SHARE_MEDIA platform) {
        Toast.makeText(MainActivity.this,"成功了",Toast.LENGTH_LONG).show();
    }

    /**
     * @descrption 分享失败的回调
     * @param platform 平台类型
     * @param t 错误原因
     */
    @Override
    public void onError(SHARE_MEDIA platform, Throwable t) {
        Toast.makeText(MainActivity.this,"失败"+t.getMessage(),Toast.LENGTH_LONG).show();
    }

    /**
     * @descrption 分享取消的回调
     * @param platform 平台类型
     */
    @Override
    public void onCancel(SHARE_MEDIA platform) {
        Toast.makeText(MainActivity.this,"取消了",Toast.LENGTH_LONG).show();

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

    if(Build.VERSION.SDK_INT>=23){
        String[] mPermissionList = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE
                ,Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.CALL_PHONE
                ,Manifest.permission.READ_LOGS,Manifest.permission.READ_PHONE_STATE
                , Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.SET_DEBUG_APP
                ,Manifest.permission.SYSTEM_ALERT_WINDOW,Manifest.permission.GET_ACCOUNTS
                ,Manifest.permission.WRITE_APN_SETTINGS};
        ActivityCompat.requestPermissions(this,mPermissionList,123);
    }
}

@Override
public void onRequestPermissionsResult(int requestCode,String permissions[], int[] grantResults) {


}

@OnClick({R.id.share1, R.id.share2,R.id.share3})
public void onViewClicked(View view) {
    switch (view.getId()) {

        case R.id.share1:
            UMImage image1 = new UMImage(MainActivity.this,R.drawable.ee);//本地文件
            new ShareAction(MainActivity.this)
                    .withText("hello")
                    .withMedia(image1)
                    .setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
                    .setCallback(shareListener).open();
            break;
        case R.id.share2:
            UMImage image = new UMImage(MainActivity.this,R.drawable.ff);//本地文件
            new ShareAction(MainActivity.this)
                    .setPlatform(SHARE_MEDIA.QQ)//传入平台
                    .withText("hello")//分享内容
                    .withMedia(image)
                    .setCallback(shareListener)//回调监听器
                    .share();
            break;
        case R.id.share3:
            UMShareAPI umShareAPI = UMShareAPI.get(this);
            umShareAPI.getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, authListener);
            break;
    }
}

UMAuthListener authListener = new UMAuthListener() {
    /**
     * @desc 授权开始的回调
     * @param platform 平台名称
     */
    @Override
    public void onStart(SHARE_MEDIA platform) {

    }

    /**
     * @desc 授权成功的回调
     * @param platform 平台名称
     * @param action 行为序号,开发者用不上
     * @param data 用户资料返回
     */
    @Override
    public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {

        Toast.makeText(MainActivity.this, "成功了", Toast.LENGTH_LONG).show();

    }

    /**
     * @desc 授权失败的回调
     * @param platform 平台名称
     * @param action 行为序号,开发者用不上
     * @param t 错误原因
     */
    @Override
    public void onError(SHARE_MEDIA platform, int action, Throwable t) {

        Toast.makeText(MainActivity.this, "失败:" + t.getMessage(),Toast.LENGTH_LONG).show();
    }

    /**
     * @desc 授权取消的回调
     * @param platform 平台名称
     * @param action 行为序号,开发者用不上
     */
    @Override
    public void onCancel(SHARE_MEDIA platform, int action) {
        Toast.makeText(MainActivity.this, "取消了", Toast.LENGTH_LONG).show();
    }
};

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值