首先要从友盟官网上注册下载SDK 集成工具
下图便是我们的集成工具:
双击点开集成工具
选择你使用的平台和IDE:
点击OK键,会生成umeng_integratetool_result一个文件夹:
将对应的文件夹拷贝进入你的工程中即可。
配置Android Manifest XML
权限的添加
<uses-permission
android:name
=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name
=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name
=
"android.permission.READ_PHONE_STATE"
/>
<uses-permission
android:name
=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name
=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name
=
"android.permission.INTERNET"
/>
<uses-permission
android:name
=
"android.permission.ACCESS_FINE_LOCATION"
/>
<uses-permission
android:name
=
"android.permission.ACCESS_COARSE_LOCATION"
/>
<uses-permission
android:name
=
"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
/>
- qq精简版:
<activity
android:name
=
"com.umeng.qq.tencent.AuthActivity"
android:launchMode
=
"singleTask"
android:noHistory
=
"true"
>
<intent-filter>
<action
android:name
=
"android.intent.action.VIEW"
/>
<category
android:name
=
"android.intent.category.DEFAULT"
/>
<category
android:name
=
"android.intent.category.BROWSABLE"
/>
<data
android:scheme
=
"tencent100424468"
/>
</intent-filter>
</activity>
<activity
android:name
=
"com.umeng.qq.tencent.AssistActivity"
android:screenOrientation
=
"portrait"
android:theme
=
"@android:style/Theme.Translucent.NoTitleBar"
android:configChanges
=
"orientation|keyboardHidden|screenSize"
/>
- qq完整版:
<activity
android:name
=
"com.tencent.tauth.AuthActivity"
android:launchMode
=
"singleTask"
android:noHistory
=
"true"
>
<intent-filter>
<action
android:name
=
"android.intent.action.VIEW"
/>
<category
android:name
=
"android.intent.category.DEFAULT"
/>
<category
android:name
=
"android.intent.category.BROWSABLE"
/>
<data
android:scheme
=
"tencent100424468"
/>
</intent-filter>
</activity>
<activity
android:name
=
"com.tencent.connect.common.AssistActivity"
android:screenOrientation
=
"portrait"
android:theme
=
"@android:style/Theme.Translucent.NoTitleBar"
android:configChanges
=
"orientation|keyboardHidden|screenSize"
/>
添加友盟appkey
<meta-data
android:name
=
"UMENG_APPKEY"
android:value
=
"561cae6ae0f55abd990035bf"
>
</meta-data>
还需要在build.gradle文件中添加
buildTypes {
debug {
minifyEnabled false
signingConfig signingConfigs.debug
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
配置友盟key及三方key
建立一个application文件,注意要在AndroidManifest文件中配置
在application里面需要添加
Config.DEBUG=true;
PlatformConfig.setQQZone("1106036236","mjFCi0oxXZKZEWJs");
UMShareAPI.get(this);
Mainactivity
//QQ和微博都需要调用;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}
以下是QQ登录的方法
UMShareAPI.get(this).getPlatformInfo(this, SHARE_MEDIA.QQ, new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA share_media) {
}
@Override
public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {
System.out.println("eeee====" + map.get("iconurl"));
}
@Override
public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {
}
@Override
public void onCancel(SHARE_MEDIA share_media, int i) {
}
});
以下是QQ分享的代码
UMWeb web = new UMWeb("https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=2813482909,521529772&fm=27&gp=0.jpg");
web.setTitle("This is music title");//标题
web.setDescription("my description");//描述
new ShareAction(MainActivity.this)
// .withText("hello").withMedia(new UMImage(MainActivity.this, "http://q.qlogo.cn/qqapp/1106036236/FCABF44E5A2ED90822E5F3594A81DBB1/100"))
.withText("hello").withMedia(web)
.setDisplayList(SHARE_MEDIA.SINA, SHARE_MEDIA.QQ, SHARE_MEDIA.WEIXIN)
.setCallback(new UMShareListener() {
@Override
public void onStart(SHARE_MEDIA share_media) {
}
@Override
public void onResult(SHARE_MEDIA share_media) {
System.out.println(share_media);
}
@Override
public void onError(SHARE_MEDIA share_media, Throwable throwable) {
}
@Override
public void onCancel(SHARE_MEDIA share_media) {
}
})
.open();