jar包导完和配置等完成后再写这些代码
public class MainActivity extends AppCompatActivity {
private UMShareAPI umShareAPI;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(Build.VERSION.SDK_INT>=23){
String[] permission=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,permission,123);
}
umShareAPI = UMShareAPI.get(this);
findViewById(R.id.imageView).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
UMShareConfig config = new UMShareConfig();
config.isNeedAuthOnGetUserInfo(true);
UMShareAPI.get(MainActivity.this).setShareConfig(config);
umShareAPI.getPlatformInfo(MainActivity.this,SHARE_MEDIA.QQ,umAuthListener);
}
});
}
UMAuthListener umAuthListener=new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA share_media) {
}
@Override
public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {
Toast.makeText(MainActivity.this,"成功",Toast.LENGTH_SHORT).show();
startActivity(new Intent(MainActivity.this,Main2Activity.class));
}
@Override
public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {
Toast.makeText(MainActivity.this,"失败",Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel(SHARE_MEDIA share_media, int i) {
}
};
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode,resultCode,data);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
自己的Application中需要写
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
UMConfigure.init(this,"5a12384aa40fa3551f0001d1","umeng",UMConfigure.DEVICE_TYPE_PHONE,"");
PlatformConfig.setWeixin("wxdc1e388c3822c80b","3baf1193c85774b3fd9d18447d76cab0");
PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
UMConfigure.setLogEnabled(true);
}
}
分享
findViewById(R.id.imageQQ).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// new ShareAction(MainActivity.this).withText("hello").setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
// .setCallback(shareListener).open();
// UMImage image = new UMImage(MainActivity.this, R.drawable.umeng_socialize_fav);//资源文件
// image.compressStyle = UMImage.CompressStyle.SCALE;//大小压缩,默认为大小压缩,适合普通很大的图
// image.compressStyle = UMImage.CompressStyle.QUALITY;//质量压缩,适合长图的分享压缩格式设置
// image.compressFormat = Bitmap.CompressFormat.PNG;//用户分享透明背景的图片可以设置这种方式,但是qq好友,微信朋友圈,不支持透明背景图片,会变成黑色
// new ShareAction(MainActivity.this).withText("hello").withMedia(image).share();
UMWeb web = new UMWeb("https://developer.umeng.com/docs/66632/detail/66639#h3-u5206u4EABu7684u6D88u606Fu7C7Bu578B");
web.setTitle("This is music title");//标题
//web.setThumb(thumb); //缩略图
web.setDescription("my description");//描述
new ShareAction(MainActivity.this).withMedia(web)
.setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
.setCallback(shareListener).open();
}
});
//登录
umShareAPI = UMShareAPI.get(this);
imageQQ.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// UMShareConfig config = new UMShareConfig();
// config.isNeedAuthOnGetUserInfo(true);
// UMShareAPI.get(MainActivity.this).setShareConfig(config);
umShareAPI.getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, authListener);
}
});
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();
}
};