分享
添加依赖
implementation 'com.umeng.sdk:common:1.5.1'
implementation 'com.umeng.sdk:analytics:7.5.0'
implementation 'com.umeng.sdk:share-core:6.9.1'
implementation 'com.umeng.sdk:share-qq:6.9.1.1'
implementation 'com.umeng.sdk:share-wechat:6.9.1'
implementation 'com.umeng.sdk:share-sina:6.9.1'
implementation 'com.umeng.sdk:shareboard-widget:6.9.1'
需要在项目的builde.gradle中添加如下配置:
allprojects {
repositories {
mavenCentral()
}
}
添加权限
<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" />
在工程 build.gradle中的 defaultConfig下添加manifestPlaceholders = [qqappid: “100424468”]
defaultConfig {
manifestPlaceholders = [qqappid: "100424468"]
applicationId "com.example.day15_ument"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
自定义Application类的 onCreate() 方法中添加各个平台的key并初始化
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
UMConfigure.init(this,"5d3536623fc195bfc00009ad","Umeng",UMConfigure.DEVICE_TYPE_PHONE,"");
PlatformConfig.setWeixin("wxdc1e388c3822c80b", "3baf1193c85774b3fd9d18447d76cab0");
PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com");
PlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf");
PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi", "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO");
PlatformConfig.setAlipay("2015111700822536");
PlatformConfig.setLaiwang("laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e");
PlatformConfig.setPinterest("1439206");
PlatformConfig.setKakao("e4f60e065048eb031e235c806b31c70f");
PlatformConfig.setDing("dingoalmlnohc0wggfedpk");
PlatformConfig.setVKontakte("5764965","5My6SNliAaLxEm3Lyd9J");
PlatformConfig.setDropbox("oz8v5apet3arcdy","h7p2pjbzkkxt02a");
}
}
清单文件要在application中注册
<application
android:name=".MyApp" ——添加这个
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
最后通过添加点击事件去实现分享面板
public class MainActivity extends AppCompatActivity {
UMShareListener umShareListener;
Button button;
String[] strings = new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.fenxiang);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
share();
}
});
if (Build.VERSION.SDK_INT>=23) {
for (int i=0;i<strings.length;i++) {
if (ActivityCompat.checkSelfPermission(this,strings[i]) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(strings,100);
}
}
}
}
public void share(){
final UMWeb web = new UMWeb("http://169.254.61.144/hfs/a.jpg");
ShareAction shareAction = new ShareAction(this);
shareAction.setDisplayList(SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE, SHARE_MEDIA.WEIXIN,SHARE_MEDIA.WEIXIN_CIRCLE);
shareAction.setShareboardclickCallback(new ShareBoardlistener() {
@Override
public void onclick(SnsPlatform snsPlatform, SHARE_MEDIA share_media) {
if (share_media == SHARE_MEDIA.QQ) {
new ShareAction(MainActivity.this).setPlatform(SHARE_MEDIA.QQ)
.withMedia(web)
.setCallback(umShareListener)
.share();
} else if (share_media == SHARE_MEDIA.WEIXIN) {
new ShareAction(MainActivity.this).setPlatform(SHARE_MEDIA.WEIXIN)
.withMedia(web)
.setCallback(umShareListener)
.share();
} else if (share_media == SHARE_MEDIA.QZONE) {
new ShareAction(MainActivity.this).setPlatform(SHARE_MEDIA.QZONE)
.withMedia(web)
.setCallback(umShareListener)
.share();
} else if (share_media == SHARE_MEDIA.WEIXIN_CIRCLE) {
new ShareAction(MainActivity.this).setPlatform(SHARE_MEDIA.WEIXIN_CIRCLE)
.withMedia(web)
.setCallback(umShareListener)
.share();
}
}
});
shareAction.open();
umShareListener = new UMShareListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
}
@Override
public void onResult(SHARE_MEDIA platform) {
}
@Override
public void onError(SHARE_MEDIA platform, Throwable t) {
}
@Override
public void onCancel(SHARE_MEDIA platform) {
}
};
}
}
推送
导入依赖
implementation 'com.umeng.umsdk:common:2.0.0'
implementation 'com.umeng.umsdk:utdid:1.1.5.3'
implementation 'com.umeng.umsdk:push:6.0.1'
工程build.gradle中添加配置:
buildscript {
repositories {
google()
jcenter()
maven { url 'https://dl.bintray.com/umsdk/release' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven { url 'https://dl.bintray.com/umsdk/release' }
}
}
自定义Application类的 onCreate() 方法中做初始化工作
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
UMConfigure.init(this, "5d3581100cafb21fd6001048","Umeng",UMConfigure.DEVICE_TYPE_PHONE, "323b2464cedeef0a828ead3b107218c9");
PushAgent pushAgent = PushAgent.getInstance(this);
pushAgent.register(new IUmengRegisterCallback() {
@Override
public void onSuccess(String s) {
Log.d("###",s);
}
@Override
public void onFailure(String s, String s1) {
}
});
}
}
在所有的Activity 的onCreate 方法或在应用的BaseActivity的onCreate方法中添加:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PushAgent.getInstance(this).onAppStart();
}
}