();
- fisLaunchList.add("click");
- fisLaunchList.add("track_id_1");
- fisLaunchList.add("track_id_2");
- fisLaunchList.add("track_id_3");
- fisLaunchList.add("forward");
- UMADplus.setFirstLaunchEvent(mContext, fisLaunchList);
- Toast.makeText(mContext, "已完成关注首次触发事件", Toast.LENGTH_SHORT).show();
- }
- });
-
- findViewById(R.id.analytics_g4_b1).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- JSONObject jsonObject = new JSONObject();
- try{
- jsonObject.put("properties-key", "properties-values");
- } catch (Exception e){
- }
- UMADplus.registerPreProperties(mContext, jsonObject);
- Toast.makeText(mContext, "已完成设置预置属性", Toast.LENGTH_SHORT).show();
- }
- });
- findViewById(R.id.analytics_g4_b2).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- UMADplus.getPreProperties(mContext);
- Toast.makeText(mContext, "已完成获取预置属性", Toast.LENGTH_SHORT).show();
- }
- });
- findViewById(R.id.analytics_g4_b3).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- UMADplus.unregisterPreProperty(mContext, "properties-key");
- Toast.makeText(mContext, "已完成删除某一个预置属性", Toast.LENGTH_SHORT).show();
- }
- });
- findViewById(R.id.analytics_g4_b4).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- UMADplus.clearPreProperties(mContext);
- Toast.makeText(mContext, "已完成删除所有预置属性", Toast.LENGTH_SHORT).show();
- }
- });
- }
-
- @Override
- public int getLayout() {
- return R.layout.activity_udplus;
- }
-
- @Override
- public void onResume() {
- super.onResume();
- MobclickAgent.onPageStart(mPageName);
- // MobclickAgent.onResume(mContext); // BaseActivity中已经统一调用,此处无需再调用
- }
-
- @Override
- public void onPause() {
- super.onPause();
- MobclickAgent.onPageEnd(mPageName);
- // MobclickAgent.onPause(mContext); // BaseActivity中已经统一调用,此处无需再调用
- }
-}
diff --git a/app/src/main/java/com/umeng/soexample/analytics/UFragmentStack.java b/app/src/main/java/com/umeng/soexample/analytics/UFragmentStack.java
index cd06087..2667f79 100644
--- a/app/src/main/java/com/umeng/soexample/analytics/UFragmentStack.java
+++ b/app/src/main/java/com/umeng/soexample/analytics/UFragmentStack.java
@@ -73,13 +73,11 @@ public void onSaveInstanceState(Bundle outState) {
@Override
protected void onPause() {
super.onPause();
-// MobclickAgent.onPause(this);
}
@Override
protected void onResume() {
super.onResume();
-// MobclickAgent.onResume(this);
}
void addFragmentToStack() {
diff --git a/app/src/main/java/com/umeng/soexample/analytics/UFragmentTabs.java b/app/src/main/java/com/umeng/soexample/analytics/UFragmentTabs.java
index 10bfb77..6ecd66b 100644
--- a/app/src/main/java/com/umeng/soexample/analytics/UFragmentTabs.java
+++ b/app/src/main/java/com/umeng/soexample/analytics/UFragmentTabs.java
@@ -55,13 +55,11 @@ public int getLayout() {
@Override
protected void onPause() {
super.onPause();
-// MobclickAgent.onPause(this);
}
@Override
protected void onResume() {
super.onResume();
-// MobclickAgent.onResume(this);
}
public static class FragmentSimple extends Fragment {
diff --git a/app/src/main/java/com/umeng/soexample/analytics/UGameActivity.java b/app/src/main/java/com/umeng/soexample/analytics/UGameActivity.java
deleted file mode 100644
index 10646e0..0000000
--- a/app/src/main/java/com/umeng/soexample/analytics/UGameActivity.java
+++ /dev/null
@@ -1,200 +0,0 @@
-package com.umeng.soexample.analytics;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.view.KeyEvent;
-import android.view.View;
-import android.widget.Toast;
-
-import com.umeng.analytics.MobclickAgent;
-import com.umeng.analytics.dplus.UMADplus;
-import com.umeng.analytics.game.UMGameAgent;
-import com.umeng.commonsdk.UMConfigure;
-import com.umeng.soexample.BaseActivity;
-import com.umeng.soexample.R;
-
-/**
- * Created by wangfei on 2018/1/23.
- */
-
-public class UGameActivity extends BaseActivity {
-
- private Context mContext;
- private String level = "level-1";
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- setTitle("统计UGame");
- setBackVisibily();
-
- mContext = this;
- // 设置输出运行时日志
- UMConfigure.setLogEnabled(true);
- UMGameAgent.init(this);
- // Deprecated UMGameAgent.setPlayerLevel("LV.01");
- UMGameAgent.setPlayerLevel(1);
- //UMGameAgent.setSessionContinueMillis(1000);
-
- // 设置U-DPlus + 高级GAME场景
- UMGameAgent.setScenarioType(mContext, MobclickAgent.EScenarioType.E_DUM_GAME);
-
- findViewById(R.id.analytics_g1_b1).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // 关卡开始
- UMGameAgent.startLevel(level);
- Toast.makeText(mContext, "已完成关卡开始", Toast.LENGTH_SHORT).show();
- }
- });
- findViewById(R.id.analytics_g1_b2).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // 关卡失败
- UMGameAgent.failLevel(level);
- Toast.makeText(mContext, "已完成关卡失败", Toast.LENGTH_SHORT).show();
- }
- });
- findViewById(R.id.analytics_g1_b3).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // 成功过关
- UMGameAgent.finishLevel(level);
- Toast.makeText(mContext, "已完成成功过关", Toast.LENGTH_SHORT).show();
- }
- });
-
- findViewById(R.id.analytics_g2_b1).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // 使用支付宝 10 元购买 2000 个虚拟币
- UMGameAgent.pay(10, 2000, PayChannels.ZHI_FU_BAO);
- Toast.makeText(mContext, "已完成充值付费(真实消费)", Toast.LENGTH_SHORT).show();
- }
- });
- findViewById(R.id.analytics_g2_b2).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // 使用支付宝 10 元购买一把宝剑 (等值虚拟币 1000)
- UMGameAgent.pay(10, "sword", 1, 1000, PayChannels.ZHI_FU_BAO);
- Toast.makeText(mContext, "已完成购买物品(真实消费)", Toast.LENGTH_SHORT).show();
- }
- });
- findViewById(R.id.analytics_g2_b3).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // 用支付宝 使用了88.88美元(等同于10000个虚拟币) 订单ID是test-ordedid
- UMGameAgent.exchange(88.88, "USD", 10000, PayChannels.ZHI_FU_BAO, "test-ordedid");
- Toast.makeText(mContext, "已完成有订单的充值付费(真实消费)", Toast.LENGTH_SHORT).show();
- }
- });
-
- findViewById(R.id.analytics_g3_b1).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // 购买 2 个魔法药水(每个虚拟币单价100)
- UMGameAgent.buy("magic", 2, 100);
- Toast.makeText(mContext, "已完成购买物品(虚拟消费)", Toast.LENGTH_SHORT).show();
- }
- });
-
- findViewById(R.id.analytics_g4_b1).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // 使用 1 个魔法药水(每个虚拟币单价100)
- UMGameAgent.use("magic", 1, 100);
- Toast.makeText(mContext, "已完成使用物品", Toast.LENGTH_SHORT).show();
- }
- });
-
- findViewById(R.id.analytics_g5_b1).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // 开发商赠送 1000 个虚拟币
- UMGameAgent.bonus(1000, BonusTrigger.KAI_FA_SHANG_ZENG_SONG);
- // 玩家赠送一把宝剑价值 100 个虚拟币
- UMGameAgent.bonus("sword", 1, 100, BonusTrigger.WAN_JIA_ZENG_SONG);
- Toast.makeText(mContext, "已完成游戏奖励", Toast.LENGTH_SHORT).show();
- }
- });
-
- findViewById(R.id.analytics_g6_b1).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // 用户登录
- UMGameAgent.onProfileSignIn("example_id");
- Toast.makeText(mContext, "已完成用户登录", Toast.LENGTH_SHORT).show();
- }
- });
- findViewById(R.id.analytics_g6_b2).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // 用户退出
- UMGameAgent.onProfileSignOff();
- Toast.makeText(mContext, "已完成用户退出", Toast.LENGTH_SHORT).show();
- }
- });
- }
-
- /**
- * 1-8 为默认支付渠道, 9 ~ 20 保留字段, 21~ 99 为自定义渠道
- *
- * @author ntop
- */
- @SuppressWarnings("unused")
- private interface PayChannels {
- static int APPSTORE = 1; // APPSTORE
- static int ZHI_FU_BAO = 2; // 支付宝(1),
- static int WANG_YIN = 3; // 网银
- static int CAI_FU_TONG = 4;// 财付通(3),
- static int YI_DONG = 5; // 移动(4)
- static int LIAN_TONG = 6; // 联通通信(5),
- static int DIAN_XIN = 7; // 电信
- static int PAYPAL = 8; // PAYPAL
-
- static int WANDOUJIA = 21;// 自定义支付渠道,豌豆荚支付
- }
-
- /**
- *
- * 1-3 为默认的游戏奖励触发点
- *
- *
- * 4-20 保留字段
- *
- *
- * 21-99 为自定义触发点(需要在网站上也做出相应的配置)
- *
- *
- * @author ntop
- */
- @SuppressWarnings("unused")
- private interface BonusTrigger {
- static int WAN_JIA_ZENG_SONG = 1;// 玩家赠送(1),
- static int KAI_FA_SHANG_ZENG_SONG = 2;// 开发商赠送(2)
- static int YOU_XI_JIANG_LI = 3;// 游戏奖励(3)
-
- static int FROM_BOSS = 21;// 自定义触发点,boss 掉落
- }
-
- @Override
- public int getLayout() {
- return R.layout.activity_ugame;
- }
-
- @Override
- public void onResume() {
- super.onResume();
- // 集成基本统计分析,初始化 Session
- // MobclickAgent.onResume(this); // BaseActivity中已经统一调用,此处无需再调用
- }
-
- @Override
- public void onPause() {
- super.onPause();
- // 集成基本统计分析, 结束 Session
- // MobclickAgent.onPause(this); // BaseActivity中已经统一调用,此处无需再调用
-
- }
-}
diff --git a/app/src/main/java/com/umeng/soexample/analytics/UappActivity.java b/app/src/main/java/com/umeng/soexample/analytics/UappActivity.java
index 7dc96e6..f40ccb9 100644
--- a/app/src/main/java/com/umeng/soexample/analytics/UappActivity.java
+++ b/app/src/main/java/com/umeng/soexample/analytics/UappActivity.java
@@ -3,6 +3,7 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
+import android.util.Log;
import android.view.View;
import android.widget.Toast;
@@ -14,6 +15,9 @@
import com.umeng.soexample.share.SharePlatformActivity;
import com.umeng.soexample.share.UshareActivity;
+import org.json.JSONException;
+import org.json.JSONObject;
+
import java.util.HashMap;
import java.util.Map;
@@ -35,12 +39,8 @@ protected void onCreate(Bundle savedInstanceState) {
setBackVisibily();
mContext = this;
- // SDK在统计Fragment时,需要关闭Activity自带的页面统计,
- // 然后在每个页面中重新集成页面统计的代码(包括调用了 onResume 和 onPause 的Activity)。
- MobclickAgent.openActivityDurationTrack(false);
-
- // 设置为U-APP场景
- MobclickAgent.setScenarioType(mContext, EScenarioType.E_UM_NORMAL);
+ int pid = android.os.Process.myPid();
+ Log.i(mPageName, "当前进程ID: " + pid);
findViewById(R.id.analytics_g1_b1).setOnClickListener(new View.OnClickListener() {
@@ -108,7 +108,74 @@ public void onClick(View view) {
}
});
+ // 预置事件属性相关接口示例
+ findViewById(R.id.analytics_g5_b1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ JSONObject pre = new JSONObject();
+ try {
+ pre.put("PreProperties-key1", "PreProperties-value1");
+ pre.put("PreProperties-key2", "PreProperties-value2");
+ pre.put("PreProperties-key3", "PreProperties-value3");
+ pre.put("PreProperties-key4", "PreProperties-value4");
+ pre.put("PreProperties-key5", "PreProperties-value5");
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ MobclickAgent.registerPreProperties(mContext, pre);
+ Toast.makeText(mContext, "预置属性已注册", Toast.LENGTH_SHORT).show();
+ }
+ });
+
+ findViewById(R.id.analytics_g5_b2).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ MobclickAgent.unregisterPreProperty(mContext, "PreProperties-key1");
+ MobclickAgent.unregisterPreProperty(mContext, "PreProperties-key3");
+ MobclickAgent.unregisterPreProperty(mContext, "PreProperties-key5");
+ Toast.makeText(mContext, "预置属性已部分注销", Toast.LENGTH_SHORT).show();
+ }
+ });
+
+ findViewById(R.id.analytics_g5_b3).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ JSONObject preProperties = MobclickAgent.getPreProperties(mContext);
+ if (preProperties != null) {
+ if (preProperties.length() > 0) {
+ String properties = preProperties.toString();
+ Toast.makeText(mContext, "当前预置属性: " + properties, Toast.LENGTH_SHORT).show();
+ } else {
+ Toast.makeText(mContext, "当前预置属性为空", Toast.LENGTH_SHORT).show();
+ }
+ }
+ }
+ });
+
+ findViewById(R.id.analytics_g5_b4).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ MobclickAgent.clearPreProperties(mContext);
+ Toast.makeText(mContext, "预置属性已清空", Toast.LENGTH_SHORT).show();
+ }
+ });
+ // 子进程自定义事件埋点示例
+ findViewById(R.id.analytics_g6_b1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ startService(new Intent(mContext, Process1Service.class));
+ Toast.makeText(mContext, "后台进程Service已启动", Toast.LENGTH_SHORT).show();
+ }
+ });
+
+ findViewById(R.id.analytics_g6_b2).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ startActivity(new Intent(mContext, Process1Activity.class));
+ Toast.makeText(mContext, "后台进程Activity已启动", Toast.LENGTH_SHORT).show();
+ }
+ });
}
diff --git a/app/src/main/java/com/umeng/soexample/douyinapi/DouYinEntryActivity.java b/app/src/main/java/com/umeng/soexample/douyinapi/DouYinEntryActivity.java
new file mode 100644
index 0000000..c6e7950
--- /dev/null
+++ b/app/src/main/java/com/umeng/soexample/douyinapi/DouYinEntryActivity.java
@@ -0,0 +1,6 @@
+package com.umeng.soexample.douyinapi;
+
+import com.umeng.socialize.douyin.DYCallbackActivity;
+
+public class DouYinEntryActivity extends DYCallbackActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umeng/soexample/push/MipushTestActivity.java b/app/src/main/java/com/umeng/soexample/push/MipushTestActivity.java
index d28aaae..a130d21 100644
--- a/app/src/main/java/com/umeng/soexample/push/MipushTestActivity.java
+++ b/app/src/main/java/com/umeng/soexample/push/MipushTestActivity.java
@@ -1,15 +1,13 @@
package com.umeng.soexample.push;
-import android.content.Intent;
import android.os.Bundle;
-import android.text.TextUtils;
import android.widget.TextView;
import com.umeng.message.UmengNotifyClickActivity;
+import com.umeng.message.entity.UMessage;
import com.umeng.soexample.R;
-import org.android.agoo.common.AgooConstants;
public class MipushTestActivity extends UmengNotifyClickActivity {
- private static String TAG = MipushTestActivity.class.getName();
+
private TextView mipushTextView;
@Override
@@ -20,16 +18,14 @@ protected void onCreate(Bundle bundle) {
}
@Override
- public void onMessage(Intent intent) {
- super.onMessage(intent);
- final String body = intent.getStringExtra(AgooConstants.MESSAGE_BODY);
- if (!TextUtils.isEmpty(body)) {
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- mipushTextView.setText(body);
- }
- });
- }
+ protected void onMessage(final UMessage uMessage) {
+ super.onMessage(uMessage);
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mipushTextView.setText(uMessage.getRaw().toString());
+ }
+ });
}
+
}
diff --git a/app/src/main/java/com/umeng/soexample/push/MyNotificationService.java b/app/src/main/java/com/umeng/soexample/push/MyNotificationService.java
index de662b3..f1510c8 100644
--- a/app/src/main/java/com/umeng/soexample/push/MyNotificationService.java
+++ b/app/src/main/java/com/umeng/soexample/push/MyNotificationService.java
@@ -3,16 +3,19 @@
import java.util.Random;
import android.app.Notification;
+import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
+import android.os.Build;
import android.os.IBinder;
+
import com.umeng.message.UTrack;
+import com.umeng.message.common.UPushNotificationChannel;
import com.umeng.message.entity.UMessage;
import com.umeng.soexample.R;
-import org.json.JSONException;
import org.json.JSONObject;
public class MyNotificationService extends Service {
@@ -33,11 +36,10 @@ public int onStartCommand(Intent intent, int flags, int startId) {
try {
UMessage msg = new UMessage(new JSONObject(message));
if (oldMessage != null) {
- UTrack.getInstance(getApplicationContext()).setClearPrevMessage(true);
- UTrack.getInstance(getApplicationContext()).trackMsgDismissed(oldMessage);
+ UTrack.getInstance().trackMsgDismissed(oldMessage);
}
showNotification(msg);
- } catch (JSONException e) {
+ } catch (Exception e) {
e.printStackTrace();
}
return super.onStartCommand(intent, flags, startId);
@@ -47,20 +49,30 @@ private void showNotification(UMessage msg) {
int id = new Random(System.nanoTime()).nextInt();
oldMessage = msg;
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
- manager.cancelAll();
- Notification.Builder mBuilder = new Notification.Builder(this);
- mBuilder.setContentTitle(msg.title)
+ try {
+ manager.cancelAll();
+ } catch (Exception ignored) {
+ }
+ Notification.Builder builder;
+ if (Build.VERSION.SDK_INT >= 26) {
+ NotificationChannel channel = UPushNotificationChannel.getDefaultMode(this);
+ builder = new Notification.Builder(this, channel.getId());
+ } else {
+ builder = new Notification.Builder(this);
+ }
+ builder.setContentTitle(msg.title)
.setContentText(msg.text)
.setTicker(msg.ticker)
.setWhen(System.currentTimeMillis())
.setSmallIcon(R.drawable.umeng_push_notification_default_small_icon)
.setAutoCancel(true);
- Notification notification = mBuilder.getNotification();
+ Notification notification = builder.getNotification();
PendingIntent clickPendingIntent = getClickPendingIntent(this, msg);
PendingIntent dismissPendingIntent = getDismissPendingIntent(this, msg);
notification.deleteIntent = dismissPendingIntent;
notification.contentIntent = clickPendingIntent;
manager.notify(id, notification);
+ UTrack.getInstance().trackMsgShow(msg, notification);
}
public PendingIntent getClickPendingIntent(Context context, UMessage msg) {
diff --git a/app/src/main/java/com/umeng/soexample/push/NotificationBroadcast.java b/app/src/main/java/com/umeng/soexample/push/NotificationBroadcast.java
index 594a7c3..de45534 100644
--- a/app/src/main/java/com/umeng/soexample/push/NotificationBroadcast.java
+++ b/app/src/main/java/com/umeng/soexample/push/NotificationBroadcast.java
@@ -6,7 +6,6 @@
import android.util.Log;
import com.umeng.message.UTrack;
import com.umeng.message.entity.UMessage;
-import org.json.JSONException;
import org.json.JSONObject;
public class NotificationBroadcast extends BroadcastReceiver {
@@ -28,19 +27,15 @@ public void onReceive(Context context, Intent intent) {
switch (action) {
case ACTION_DISMISS:
Log.i(TAG, "dismiss notification");
- UTrack.getInstance(context).setClearPrevMessage(true);
- UTrack.getInstance(context).trackMsgDismissed(msg);
+ UTrack.getInstance().trackMsgDismissed(msg);
break;
case ACTION_CLICK:
Log.i(TAG, "click notification");
- UTrack.getInstance(context).setClearPrevMessage(true);
MyNotificationService.oldMessage = null;
- UTrack.getInstance(context).trackMsgClick(msg);
+ UTrack.getInstance().trackMsgClick(msg);
break;
}
//
- } catch (JSONException e) {
- e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/app/src/main/java/com/umeng/soexample/push/SplashTestActivity.java b/app/src/main/java/com/umeng/soexample/push/SplashTestActivity.java
index db84a07..09d0657 100644
--- a/app/src/main/java/com/umeng/soexample/push/SplashTestActivity.java
+++ b/app/src/main/java/com/umeng/soexample/push/SplashTestActivity.java
@@ -1,16 +1,111 @@
package com.umeng.soexample.push;
+import android.annotation.SuppressLint;
+import android.app.Dialog;
+import android.content.Intent;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.Window;
+import android.widget.TextView;
+
+import com.tencent.tauth.Tencent;
+import com.umeng.commonsdk.UMConfigure;
+import com.umeng.message.PushAgent;
import com.umeng.message.inapp.InAppMessageManager;
import com.umeng.message.inapp.UmengSplashMessageActivity;
+import com.umeng.soexample.HomeActivity;
+import com.umeng.soexample.R;
+import com.umeng.soexample.UmInitConfig;
+import com.umeng.soexample.share.SharePlatformActivity;
+import com.umeng.soexample.sp.SharedPreferencesHelper;
public class SplashTestActivity extends UmengSplashMessageActivity {
+ View inflate;
+ Dialog dialog;
+ SharedPreferencesHelper sharedPreferencesHelper;
@Override
public boolean onCustomPretreatment() {
- InAppMessageManager mInAppMessageManager = InAppMessageManager.getInstance(this);
- mInAppMessageManager.setInAppMsgDebugMode(true);
- mInAppMessageManager.setMainActivityPath("com.umeng.soexample.HomeActivity");
- return super.onCustomPretreatment();
+
+ sharedPreferencesHelper = new SharedPreferencesHelper(this, "umeng");
+
+ /*** sp中uminit为1已经同意隐私协议*/
+ if (sharedPreferencesHelper.getSharedPreference("uminit", "").equals("1")) {
+
+
+ /***
+ * 此时初始化在appcation中进行,这里不做任何友盟初始化操作,直接跳转activity
+ *
+ */
+ //推送全屏消息设置(非初始化操作,这是推送全屏消息设置)
+ InAppMessageManager mInAppMessageManager = InAppMessageManager.getInstance(SplashTestActivity.this);
+ mInAppMessageManager.setInAppMsgDebugMode(true);
+ //跳转homeactivity
+ mInAppMessageManager.setMainActivityPath("com.umeng.soexample.HomeActivity");
+
+ //推送平台多维度推送决策必须调用方法(需要同意隐私协议之后初始化完成调用)
+ PushAgent.getInstance(this).onAppStart();
+ return super.onCustomPretreatment();
+ } else {
+ /*** 隐私协议授权弹窗*/
+ dialog();
+
+ return true;
+ }
+
+
+ }
+
+
+ @SuppressLint("ResourceType")
+ public void dialog() {
+ dialog = new Dialog(this, R.style.dialog);
+ inflate = LayoutInflater.from(SplashTestActivity.this).inflate(R.layout.diaologlayout, null);
+ TextView succsebtn = (TextView) inflate.findViewById(R.id.succsebtn);
+ TextView canclebtn = (TextView) inflate.findViewById(R.id.caclebtn);
+
+ succsebtn.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ /*** uminit为1时代表已经同意隐私协议,sp记录当前状态*/
+ sharedPreferencesHelper.put("uminit", "1");
+ UMConfigure.submitPolicyGrantResult(getApplicationContext(), true);
+ /*** 友盟sdk正式初始化*/
+ UmInitConfig umInitConfig = new UmInitConfig();
+ umInitConfig.UMinit(getApplicationContext());
+ //QQ官方sdk授权
+ Tencent.setIsPermissionGranted(true);
+ //推送平台多维度推送决策必须调用方法(需要同意隐私协议之后初始化完成调用)
+ PushAgent.getInstance(SplashTestActivity.this).onAppStart();
+ //关闭弹窗
+ dialog.dismiss();
+
+ //跳转到HomeActivity
+ Intent intent = new Intent(SplashTestActivity.this, HomeActivity.class);
+ startActivity(intent);
+ finish();
+
+ }
+ });
+
+ canclebtn.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ dialog.dismiss();
+ //不同意隐私协议,退出app
+ UMConfigure.submitPolicyGrantResult(getApplicationContext(), false);
+ android.os.Process.killProcess(android.os.Process.myPid());
+
+ }
+ });
+
+ dialog.setContentView(inflate);
+ Window dialogWindow = dialog.getWindow();
+ dialogWindow.setGravity(Gravity.CENTER);
+
+ dialog.setCancelable(false);
+ dialog.show();
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/umeng/soexample/push/UmengNotificationService.java b/app/src/main/java/com/umeng/soexample/push/UmengNotificationService.java
index e5a8a0f..2a863fc 100644
--- a/app/src/main/java/com/umeng/soexample/push/UmengNotificationService.java
+++ b/app/src/main/java/com/umeng/soexample/push/UmengNotificationService.java
@@ -9,11 +9,15 @@
public class UmengNotificationService extends UmengMessageService {
@Override
public void onMessage(Context context, Intent intent) {
- Log.i("UmengNotificationService", "onMessage");
- String message = intent.getStringExtra(AgooConstants.MESSAGE_BODY);
- Intent intent1 = new Intent();
- intent1.setClass(context, MyNotificationService.class);
- intent1.putExtra("UmengMsg", message);
- context.startService(intent1);
+ Log.i("UMNotificationService", "onMessage");
+ try {
+ String message = intent.getStringExtra(AgooConstants.MESSAGE_BODY);
+ Intent intent1 = new Intent();
+ intent1.setClass(context, MyNotificationService.class);
+ intent1.putExtra("UmengMsg", message);
+ context.startService(intent1);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
}
diff --git a/app/src/main/java/com/umeng/soexample/push/UpushActivity.java b/app/src/main/java/com/umeng/soexample/push/UpushActivity.java
index 684f69f..2745053 100644
--- a/app/src/main/java/com/umeng/soexample/push/UpushActivity.java
+++ b/app/src/main/java/com/umeng/soexample/push/UpushActivity.java
@@ -1,41 +1,39 @@
package com.umeng.soexample.push;
-import java.util.Hashtable;
-import java.util.List;
-
+import android.app.AppOpsManager;
+import android.app.NotificationManager;
import android.content.Context;
import android.content.SharedPreferences;
+import android.content.pm.ApplicationInfo;
+import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.text.TextUtils;
-import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
+
+import com.umeng.commonsdk.utils.UMUtils;
import com.umeng.message.PushAgent;
-import com.umeng.message.UTrack;
-import com.umeng.message.common.UmengMessageDeviceConfig;
+import com.umeng.message.api.UPushAliasCallback;
+import com.umeng.message.api.UPushTagCallback;
import com.umeng.message.common.inter.ITagManager;
import com.umeng.message.common.inter.ITagManager.Result;
-import com.umeng.message.inapp.IUmengInAppMsgCloseCallback;
-import com.umeng.message.inapp.InAppMessageManager;
-import com.umeng.message.tag.TagManager;
-import com.umeng.message.tag.TagManager.TCallBack;
-import com.umeng.message.tag.TagManager.WeightedTagListCallBack;
import com.umeng.soexample.BaseActivity;
import com.umeng.soexample.R;
import com.umeng.soexample.push.notification.DebugNotification;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.List;
+
public class UpushActivity extends BaseActivity implements View.OnClickListener {
private static final String TAG = UpushActivity.class.getName();
private static final String TAG_REMAIN = "tag_remain";
- private static final String WEIGHTED_TAG_REMAIN = "weighted_tag_remain";
private EditText inputTag;
- private EditText inputWeightedTag;
- private EditText inputWeightedTagValue;
private EditText inputAlias;
private EditText inputAliasType;
@@ -60,23 +58,18 @@ protected void onCreate(Bundle savedInstanceState) {
//展示插屏消息
if (savedInstanceState == null) {
- showCardMessage();
+// showCardMessage();
}
}
private void initClickListener() {
inputTag = findViewById(R.id.etx_input_tag);
- inputWeightedTag = findViewById(R.id.etx_input_weighted_tag);
- inputWeightedTagValue = findViewById(R.id.etx_input_weighted_tag_value);
inputAlias = findViewById(R.id.etx_input_alias);
inputAliasType = findViewById(R.id.etx_input_alias_type);
tagRemain = findViewById(R.id.tv_tag_remain);
findViewById(R.id.btn_add_tag).setOnClickListener(this);
findViewById(R.id.btn_delete_tag).setOnClickListener(this);
findViewById(R.id.btn_show_tag).setOnClickListener(this);
- findViewById(R.id.btn_add_weighted_tag).setOnClickListener(this);
- findViewById(R.id.btn_delete_weighted_tag).setOnClickListener(this);
- findViewById(R.id.btn_show_weighted_tag).setOnClickListener(this);
findViewById(R.id.btn_add_alias).setOnClickListener(this);
findViewById(R.id.btn_delete_alias).setOnClickListener(this);
findViewById(R.id.btn_show_card_message).setOnClickListener(this);
@@ -91,44 +84,25 @@ public int getLayout() {
@Override
public void onClick(View view) {
- switch (view.getId()) {
- case R.id.btn_add_tag:
- addTag();
- break;
- case R.id.btn_delete_tag:
- deleteTag();
- break;
- case R.id.btn_show_tag:
- showTag();
- break;
- case R.id.btn_add_weighted_tag:
- addWeightedTag();
- break;
- case R.id.btn_delete_weighted_tag:
- deleteWeightedTag();
- break;
- case R.id.btn_show_weighted_tag:
- showWeightedTag();
- break;
- case R.id.btn_add_alias:
- addAlias();
- break;
- case R.id.btn_delete_alias:
- deleteAlias();
- break;
- case R.id.btn_set_alias:
- setAlias();
- break;
- case R.id.btn_show_card_message:
- showCardMessage();
- break;
- case R.id.btn_serialnet:
- serialnet();
- break;
- case R.id.btn_device_check:
- deviceCheck();
- break;
- default:
+ int id = view.getId();
+ if (id == R.id.btn_add_tag) {
+ addTag();
+ } else if (id == R.id.btn_delete_tag) {
+ deleteTag();
+ } else if (id == R.id.btn_show_tag) {
+ showTag();
+ } else if (id == R.id.btn_add_alias) {
+ addAlias();
+ } else if (id == R.id.btn_delete_alias) {
+ deleteAlias();
+ } else if (id == R.id.btn_set_alias) {
+ setAlias();
+ } else if (id == R.id.btn_show_card_message) {
+// showCardMessage();
+ } else if (id == R.id.btn_serialnet) {
+ serialnet();
+ } else if (id == R.id.btn_device_check) {
+ deviceCheck();
}
}
@@ -143,7 +117,7 @@ private void setAlias() {
Toast.makeText(this, "请输入alias type", Toast.LENGTH_SHORT).show();
return;
}
- mPushAgent.setAlias(alias, aliasType, new UTrack.ICallBack() {
+ mPushAgent.setAlias(alias, aliasType, new UPushAliasCallback() {
@Override
public void onMessage(boolean isSuccess, String message) {
handler.post(new Runnable() {
@@ -168,7 +142,7 @@ private void deleteAlias() {
Toast.makeText(this, "请输入alias type", Toast.LENGTH_SHORT).show();
return;
}
- mPushAgent.deleteAlias(alias, aliasType, new UTrack.ICallBack() {
+ mPushAgent.deleteAlias(alias, aliasType, new UPushAliasCallback() {
@Override
public void onMessage(boolean isSuccess, String message) {
handler.post(new Runnable() {
@@ -193,7 +167,7 @@ private void addAlias() {
Toast.makeText(this, "请先输入alias type", Toast.LENGTH_SHORT).show();
return;
}
- mPushAgent.addAlias(alias, aliasType, new UTrack.ICallBack() {
+ mPushAgent.addAlias(alias, aliasType, new UPushAliasCallback() {
@Override
public void onMessage(boolean isSuccess, String message) {
handler.post(new Runnable() {
@@ -207,97 +181,8 @@ public void run() {
});
}
- private void showWeightedTag() {
- mPushAgent.getTagManager().getWeightedTags(new WeightedTagListCallBack() {
- @Override
- public void onMessage(final boolean isSuccess, final Hashtable result) {
- handler.post(new Runnable() {
- @Override
- public void run() {
- if (isSuccess) {
- StringBuilder builder = new StringBuilder();
- for (String key : result.keySet()) {
- int value = result.get(key);
- builder.append(getString(R.string.push_tag));
- builder.append(key);
- builder.append(" ");
- builder.append(getString(R.string.push_tag_value));
- builder.append(value);
- builder.append("\n");
- }
- PushDialogFragment.newInstance(1, 1, getString(R.string.push_get_tags),
- builder.toString()).show(getFragmentManager(), "deleshowWeightedTagteTag");
- } else {
- PushDialogFragment.newInstance(1, 0, getString(R.string.push_get_tags),
- "").show(getFragmentManager(), "showWeightedTag");
- }
- }
- });
- }
- });
- }
-
- private void deleteWeightedTag() {
- mPushAgent.getTagManager().deleteWeightedTags(new TCallBack() {
- @Override
- public void onMessage(final boolean isSuccess, final Result result) {
- handler.post(new Runnable() {
- @Override
- public void run() {
- if (isSuccess) {
- sharedPref.edit().putInt(WEIGHTED_TAG_REMAIN, result.remain).apply();
- PushDialogFragment.newInstance(0, 1, getString(R.string.push_delete_success),
- inputWeightedTag.getText().toString()).show(getFragmentManager(), "deleteWeightedTag");
- inputWeightedTag.setText("");
- inputWeightedTagValue.setText("");
- } else {
- PushDialogFragment.newInstance(0, 0, getString(R.string.push_delete_fail),
- inputWeightedTag.getText().toString()).show(getFragmentManager(), "deleteWeightedTag");
- }
- }
- });
- }
- }, inputWeightedTag.getText().toString());
- }
-
- private void addWeightedTag() {
- if (TextUtils.isEmpty(inputWeightedTag.getText())) {
- Toast.makeText(this, "请输入weighted tag", Toast.LENGTH_SHORT).show();
- return;
- }
- if (TextUtils.isEmpty(inputWeightedTagValue.getText())) {
- Toast.makeText(this, "请输入value", Toast.LENGTH_SHORT).show();
- return;
- }
- final Hashtable table = new Hashtable();
- table.put(inputWeightedTag.getText().toString(), Integer.valueOf(inputWeightedTagValue.getText().toString()));
- mPushAgent.getTagManager().addWeightedTags(new TCallBack() {
- @Override
- public void onMessage(final boolean isSuccess, final Result result) {
- handler.post(new Runnable() {
- @Override
- public void run() {
- if (isSuccess) {
- sharedPref.edit().putInt(WEIGHTED_TAG_REMAIN, result.remain).apply();
- PushDialogFragment.newInstance(0, 1, getString(R.string.push_add_success),
- inputWeightedTag.getText().toString() + "\n" + getString(R.string.push_tag_value) +
- inputWeightedTagValue.getText().toString()).show(getFragmentManager(),
- "addWeightedTag");
- inputWeightedTag.setText("");
- inputWeightedTagValue.setText("");
- } else {
- PushDialogFragment.newInstance(0, 0, getString(R.string.push_add_fail),
- inputWeightedTag.getText().toString() + "\n" + getString(R.string.push_tag_value) + inputWeightedTagValue.getText()
- .toString()).show(getFragmentManager(), "addWeightedTag");
- }
- }
- });
- }
- }, table);
- }
-
private void showTag() {
- mPushAgent.getTagManager().getTags(new TagManager.TagListCallBack() {
+ mPushAgent.getTagManager().getTags(new UPushTagCallback>() {
@Override
public void onMessage(final boolean isSuccess, final List result) {
handler.post(new Runnable() {
@@ -315,10 +200,10 @@ public void run() {
}
}
PushDialogFragment.newInstance(1, 1, getString(R.string.push_get_tags),
- info.toString()).show(getFragmentManager(), "deleteTag");
+ info.toString()).show(getFragmentManager(), "deleteTag");
} else {
PushDialogFragment.newInstance(1, 0, getString(R.string.push_get_tags),
- "").show(getFragmentManager(), "deleteTag");
+ "").show(getFragmentManager(), "deleteTag");
}
}
});
@@ -332,7 +217,7 @@ private void deleteTag() {
Toast.makeText(this, "请先输入tag", Toast.LENGTH_SHORT).show();
return;
}
- mPushAgent.getTagManager().deleteTags(new TagManager.TCallBack() {
+ mPushAgent.getTagManager().deleteTags(new UPushTagCallback() {
@Override
public void onMessage(final boolean isSuccess, final ITagManager.Result result) {
handler.post(new Runnable() {
@@ -343,10 +228,10 @@ public void run() {
sharedPref.edit().putInt(TAG_REMAIN, result.remain).apply();
tagRemain.setText(String.valueOf(result.remain));
PushDialogFragment.newInstance(0, 1,
- getString(R.string.push_delete_success), tag).show(getFragmentManager(), "deleteTag");
+ getString(R.string.push_delete_success), tag).show(getFragmentManager(), "deleteTag");
} else {
PushDialogFragment.newInstance(0, 0,
- getString(R.string.push_delete_fail), tag).show(getFragmentManager(), "deleteTag");
+ getString(R.string.push_delete_fail), tag).show(getFragmentManager(), "deleteTag");
}
}
});
@@ -360,7 +245,7 @@ private void addTag() {
Toast.makeText(this, "请先输入tag", Toast.LENGTH_SHORT).show();
return;
}
- mPushAgent.getTagManager().addTags(new TagManager.TCallBack() {
+ mPushAgent.getTagManager().addTags(new UPushTagCallback() {
@Override
public void onMessage(final boolean isSuccess, final ITagManager.Result result) {
handler.post(new Runnable() {
@@ -371,10 +256,10 @@ public void run() {
sharedPref.edit().putInt(TAG_REMAIN, result.remain).apply();
tagRemain.setText(String.valueOf(result.remain));
PushDialogFragment.newInstance(0, 1, getString(R.string.push_add_success), tag).show(
- getFragmentManager(), "addTag");
+ getFragmentManager(), "addTag");
} else {
PushDialogFragment.newInstance(0, 0, getString(R.string.push_add_fail), tag).show(
- getFragmentManager(), "addTag");
+ getFragmentManager(), "addTag");
}
}
});
@@ -382,21 +267,21 @@ public void run() {
}, tag);
}
- private void showCardMessage() {
- InAppMessageManager.getInstance(this).showCardMessage(this, "main", new IUmengInAppMsgCloseCallback() {
- @Override
- public void onColse() {
- Log.i(TAG, "card message close");
- }
- });
- }
+// private void showCardMessage() {
+// InAppMessageManager.getInstance(this).showCardMessage(this, "main", new IUmengInAppMsgCloseCallback() {
+// @Override
+// public void onColse() {
+// Log.i(TAG, "card message close");
+// }
+// });
+// }
private void serialnet() {
- DebugNotification.transmission(UpushActivity.this, handler);
+ DebugNotification.transmission(UpushActivity.this);
}
private void deviceCheck() {
- String push_switch = UmengMessageDeviceConfig.isNotificationEnabled(this);
+ String push_switch = getNotificationSwitch(this);
String status;
switch (push_switch) {
case "true":
@@ -409,11 +294,41 @@ private void deviceCheck() {
status = push_switch;
break;
}
- String cpu = UmengMessageDeviceConfig.getCPU();
+ String cpu = UMUtils.getCPU();
String osVersion = android.os.Build.VERSION.RELEASE;
String info = getString(R.string.push_os_version) + osVersion + "\n" + getString(R.string.push_cpu_info) + cpu
- + "\n" + getString(R.string.push_system_notification_switch) + status;
+ + "\n" + getString(R.string.push_system_notification_switch) + status;
PushDialogFragment.newInstance(1, 0, getString(
- R.string.push_device_check), info).show(getFragmentManager(), "deviceCheck");
+ R.string.push_device_check), info).show(getFragmentManager(), "deviceCheck");
+ }
+
+
+ public static String getNotificationSwitch(Context context) {
+ String result = "unknown";
+ if (Build.VERSION.SDK_INT >= 24) {
+ try {
+ result = String.valueOf(((NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE)).areNotificationsEnabled());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ } else if (Build.VERSION.SDK_INT >= 19) {
+ try {
+ AppOpsManager opsManager = (AppOpsManager)context.getSystemService(Context.APP_OPS_SERVICE);
+ ApplicationInfo applicationInfo = context.getApplicationInfo();
+ String packageName = context.getApplicationContext().getPackageName();
+ int uid = applicationInfo.uid;
+ Class> clazz = Class.forName(AppOpsManager.class.getName());
+ Method method = clazz.getMethod("checkOpNoThrow", Integer.TYPE, Integer.TYPE, String.class);
+ Field field = clazz.getDeclaredField("OP_POST_NOTIFICATION");
+ Integer op = (Integer) field.get(opsManager);
+ if (op != null) {
+ Integer ret = (Integer) method.invoke(opsManager, op, uid, packageName);
+ result = String.valueOf(ret != null && ret == AppOpsManager.MODE_ALLOWED);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return result;
}
}
diff --git a/app/src/main/java/com/umeng/soexample/push/notification/DebugNotification.java b/app/src/main/java/com/umeng/soexample/push/notification/DebugNotification.java
index 2669f8d..2b817b1 100644
--- a/app/src/main/java/com/umeng/soexample/push/notification/DebugNotification.java
+++ b/app/src/main/java/com/umeng/soexample/push/notification/DebugNotification.java
@@ -1,12 +1,20 @@
package com.umeng.soexample.push.notification;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
import java.security.MessageDigest;
import android.content.Context;
import android.os.Handler;
+import android.os.Looper;
import android.widget.Toast;
-import com.umeng.message.MessageSharedPrefs;
-import com.umeng.message.util.HttpRequest;
+
+import com.umeng.commonsdk.service.UMGlobalContext;
+import com.umeng.message.PushAgent;
+
import org.json.JSONObject;
public class DebugNotification {
@@ -16,11 +24,11 @@ public class DebugNotification {
*
* @param mContext
*/
- public static void transmission(final Context mContext, final Handler handler) {
+ public static void transmission(final Context mContext) {
try {
final AndroidUnicast unicast = new AndroidUnicast("59892f08310c9307b60023d0",
"xkqdlqwgkglgfdydyawb16etxilvmy3g");
- unicast.setDeviceToken(MessageSharedPrefs.getInstance(mContext).getDeviceToken());
+ unicast.setDeviceToken(PushAgent.getInstance(mContext).getRegistrationId());
unicast.setTicker("Android unicast ticker");
unicast.setTitle("Title");
unicast.setText("Demo透传测试");
@@ -32,7 +40,7 @@ public static void transmission(final Context mContext, final Handler handler) {
@Override
public void run() {
try {
- send(unicast, mContext, handler);
+ send(unicast);
} catch (Exception e) {
e.printStackTrace();
}
@@ -43,8 +51,8 @@ public void run() {
}
}
- public static void send(UmengNotification msg, final Context mContext, Handler handler) throws Exception {
- String timestamp = Integer.toString((int)(System.currentTimeMillis() / 1000));
+ public static void send(UmengNotification msg) throws Exception {
+ String timestamp = Integer.toString((int) (System.currentTimeMillis() / 1000));
msg.setPredefinedKeyValue("timestamp", timestamp);
String url = "http://msg.umeng.com/api/send";
@@ -54,27 +62,48 @@ public static void send(UmengNotification msg, final Context mContext, Handler h
String sign = md5(p_sign);
url = url + "?sign=" + sign;
- String response = HttpRequest.post(url).acceptJson()
- .send(postBody).body("UTF-8");
- JSONObject responseJson = new JSONObject(response);
- String ret = responseJson.getString("ret");
+ HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
+ connection.setRequestMethod("POST");
+ connection.setConnectTimeout(15000);
+ connection.setReadTimeout(15000);
+ connection.setRequestProperty("Accept", "application/json");
+ connection.setDoOutput(true);
+ OutputStream outputStream = connection.getOutputStream();
+ outputStream.write(postBody.getBytes());
+ outputStream.close();
+
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ InputStream inputStream = connection.getInputStream();
+ if (inputStream != null) {
+ byte[] buffer = new byte[8 * 1024];
+ int len;
+ while ((len = inputStream.read(buffer)) != -1) {
+ out.write(buffer, 0, len);
+ }
+ inputStream.close();
+ }
+ connection.disconnect();
+
+ JSONObject responseJson = new JSONObject(out.toString());
+ String ret = responseJson.getString("ret");
+ Runnable runnable;
if (!ret.equalsIgnoreCase("SUCCESS")) {
- handler.post(new Runnable() {
+ runnable = new Runnable() {
@Override
public void run() {
- Toast.makeText(mContext, "透传发送失败", Toast.LENGTH_LONG).show();
+ Toast.makeText(UMGlobalContext.getAppContext(), "发送失败", Toast.LENGTH_LONG).show();
}
- });
+ };
} else {
- handler.post(new Runnable() {
+ runnable = new Runnable() {
@Override
public void run() {
- Toast.makeText(mContext, "透传发送成功", Toast.LENGTH_LONG).show();
+ Toast.makeText(UMGlobalContext.getAppContext(), "发送成功", Toast.LENGTH_LONG).show();
}
- });
+ };
}
-
+ new Handler(Looper.getMainLooper()).post(runnable);
}
public static String md5(String string) {
diff --git a/app/src/main/java/com/umeng/soexample/share/AuthActivity.java b/app/src/main/java/com/umeng/soexample/share/AuthActivity.java
index 3345529..20e10d8 100644
--- a/app/src/main/java/com/umeng/soexample/share/AuthActivity.java
+++ b/app/src/main/java/com/umeng/soexample/share/AuthActivity.java
@@ -21,9 +21,9 @@ public class AuthActivity extends BaseActivity {
private ListView listView;
private AuthAdapter shareAdapter;
public ArrayList platforms = new ArrayList();
- private SHARE_MEDIA[] list = {SHARE_MEDIA.QQ, SHARE_MEDIA.SINA, SHARE_MEDIA.WEIXIN,
- SHARE_MEDIA.FACEBOOK, SHARE_MEDIA.TWITTER, SHARE_MEDIA.LINKEDIN, SHARE_MEDIA.DOUBAN, SHARE_MEDIA.RENREN, SHARE_MEDIA.KAKAO,
- SHARE_MEDIA.VKONTAKTE, SHARE_MEDIA.DROPBOX};
+ private SHARE_MEDIA[] list = {SHARE_MEDIA.QQ, SHARE_MEDIA.SINA, SHARE_MEDIA.WEIXIN,SHARE_MEDIA.WXWORK,
+ SHARE_MEDIA.FACEBOOK, SHARE_MEDIA.TWITTER, SHARE_MEDIA.LINKEDIN, SHARE_MEDIA.DOUBAN, SHARE_MEDIA.KAKAO,
+ SHARE_MEDIA.VKONTAKTE, SHARE_MEDIA.DROPBOX,SHARE_MEDIA.BYTEDANCE, SHARE_MEDIA.HONOR};
private ProgressDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
diff --git a/app/src/main/java/com/umeng/soexample/share/InfoActivity.java b/app/src/main/java/com/umeng/soexample/share/InfoActivity.java
index e759efc..fc6ed01 100644
--- a/app/src/main/java/com/umeng/soexample/share/InfoActivity.java
+++ b/app/src/main/java/com/umeng/soexample/share/InfoActivity.java
@@ -23,8 +23,8 @@
public class InfoActivity extends BaseActivity {
private LinearLayout container;
public ArrayList platforms = new ArrayList();
- private SHARE_MEDIA[] list = {SHARE_MEDIA.QQ,SHARE_MEDIA.SINA,SHARE_MEDIA.WEIXIN,
- SHARE_MEDIA.FACEBOOK,SHARE_MEDIA.TWITTER,SHARE_MEDIA.LINKEDIN,SHARE_MEDIA.KAKAO,SHARE_MEDIA.VKONTAKTE,SHARE_MEDIA.DROPBOX};
+ private SHARE_MEDIA[] list = {SHARE_MEDIA.QQ,SHARE_MEDIA.SINA,SHARE_MEDIA.WEIXIN,SHARE_MEDIA.WXWORK,
+ SHARE_MEDIA.FACEBOOK,SHARE_MEDIA.LINKEDIN,SHARE_MEDIA.KAKAO,SHARE_MEDIA.VKONTAKTE,SHARE_MEDIA.DROPBOX,SHARE_MEDIA.BYTEDANCE, SHARE_MEDIA.HONOR};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
diff --git a/app/src/main/java/com/umeng/soexample/share/InfoDetailActivity.java b/app/src/main/java/com/umeng/soexample/share/InfoDetailActivity.java
index e8a5dc4..f4e41c3 100644
--- a/app/src/main/java/com/umeng/soexample/share/InfoDetailActivity.java
+++ b/app/src/main/java/com/umeng/soexample/share/InfoDetailActivity.java
@@ -5,12 +5,15 @@
import android.content.Intent;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
+import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;
+import com.umeng.socialize.handler.UMDYUtils;
+import com.umeng.socialize.handler.UMHonorUtils;
import com.umeng.soexample.BaseActivity;
import com.umeng.soexample.R;
@@ -39,12 +42,31 @@ public void onStart(SHARE_MEDIA share_media) {
}
@Override
- public void onComplete(SHARE_MEDIA share_media, int i, Map map) {
- StringBuilder sb = new StringBuilder();
- for (String key : map.keySet()) {
- sb.append(key).append(" : ").append(map.get(key)).append("\n");
+ public void onComplete(SHARE_MEDIA platform, int action, Map data) {
+ Log.e("InfoDetailActivity",data+"");
+ StringBuilder temp = new StringBuilder();
+ for (String key : data.keySet()) {
+ String v = data.get(key);
+ if (platform == SHARE_MEDIA.BYTEDANCE) {
+ if ("encrypt_mobile".equals(key)) {
+ try {
+ v = UMDYUtils.decryptMobileNumber(v);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ } else if (platform == SHARE_MEDIA.HONOR) {
+ if ("mobileNumber".equals(key)) {
+ try {
+ v = UMHonorUtils.decryptMobileNumber(v);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ temp.append(key).append(" : ").append(v).append("\n");
}
- result.setText(sb.toString());
+ result.setText(temp.toString());
}
@Override
diff --git a/app/src/main/java/com/umeng/soexample/share/SettingActivity.java b/app/src/main/java/com/umeng/soexample/share/SettingActivity.java
index f23d114..50bcc04 100644
--- a/app/src/main/java/com/umeng/soexample/share/SettingActivity.java
+++ b/app/src/main/java/com/umeng/soexample/share/SettingActivity.java
@@ -22,6 +22,7 @@
import com.umeng.soexample.R;
import com.umeng.soexample.share.utils.StyleUtil;
+
/**
* Created by wangfei on 2018/1/24.
*/
@@ -43,6 +44,8 @@ protected void onCreate(Bundle savedInstanceState) {
netContainer = (RelativeLayout)findViewById(R.id.net_container);
btnGroup = (RelativeLayout)findViewById(R.id.btnContainer);
sendBtn=findViewById(R.id.send);
+
+
cancelBtn=findViewById(R.id.cancel);
cancelBtn.setOnClickListener(new OnClickListener() {
@Override
@@ -96,6 +99,7 @@ public void onClick(View view) {
Toast.makeText(SettingActivity.this,"参数不完整",Toast.LENGTH_LONG).show();
}
+
}
});
diff --git a/app/src/main/java/com/umeng/soexample/share/ShareBoardActivity.java b/app/src/main/java/com/umeng/soexample/share/ShareBoardActivity.java
index c80032d..d5fea65 100644
--- a/app/src/main/java/com/umeng/soexample/share/ShareBoardActivity.java
+++ b/app/src/main/java/com/umeng/soexample/share/ShareBoardActivity.java
@@ -42,13 +42,13 @@ protected void onCreate(Bundle savedInstanceState) {
/*增加自定义按钮的分享面板*/
mShareAction = new ShareAction(ShareBoardActivity.this).setDisplayList(
SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.WEIXIN_FAVORITE,
+ SHARE_MEDIA.WXWORK,
SHARE_MEDIA.SINA, SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE,
- SHARE_MEDIA.ALIPAY, SHARE_MEDIA.RENREN, SHARE_MEDIA.DOUBAN,
+ SHARE_MEDIA.ALIPAY, SHARE_MEDIA.DOUBAN,
SHARE_MEDIA.SMS, SHARE_MEDIA.EMAIL, SHARE_MEDIA.YNOTE,
- SHARE_MEDIA.EVERNOTE, SHARE_MEDIA.LAIWANG, SHARE_MEDIA.LAIWANG_DYNAMIC,
- SHARE_MEDIA.LINKEDIN, SHARE_MEDIA.YIXIN, SHARE_MEDIA.YIXIN_CIRCLE,
- SHARE_MEDIA.TENCENT, SHARE_MEDIA.FACEBOOK, SHARE_MEDIA.TWITTER,
- SHARE_MEDIA.WHATSAPP, SHARE_MEDIA.GOOGLEPLUS, SHARE_MEDIA.LINE,
+ SHARE_MEDIA.EVERNOTE,
+ SHARE_MEDIA.LINKEDIN, SHARE_MEDIA.YIXIN, SHARE_MEDIA.YIXIN_CIRCLE, SHARE_MEDIA.FACEBOOK, SHARE_MEDIA.TWITTER,
+ SHARE_MEDIA.WHATSAPP, SHARE_MEDIA.LINE,
SHARE_MEDIA.INSTAGRAM, SHARE_MEDIA.KAKAO, SHARE_MEDIA.PINTEREST,
SHARE_MEDIA.POCKET, SHARE_MEDIA.TUMBLR, SHARE_MEDIA.FLICKR,
SHARE_MEDIA.FOURSQUARE, SHARE_MEDIA.MORE)
@@ -140,7 +140,6 @@ public void onResult(SHARE_MEDIA platform) {
&& platform != SHARE_MEDIA.PINTEREST
&& platform != SHARE_MEDIA.INSTAGRAM
- && platform != SHARE_MEDIA.GOOGLEPLUS
&& platform != SHARE_MEDIA.YNOTE
&& platform != SHARE_MEDIA.EVERNOTE) {
Toast.makeText(mActivity.get(), platform + " 分享成功啦", Toast.LENGTH_SHORT).show();
@@ -160,7 +159,6 @@ public void onError(SHARE_MEDIA platform, Throwable t) {
&& platform != SHARE_MEDIA.PINTEREST
&& platform != SHARE_MEDIA.INSTAGRAM
- && platform != SHARE_MEDIA.GOOGLEPLUS
&& platform != SHARE_MEDIA.YNOTE
&& platform != SHARE_MEDIA.EVERNOTE) {
Toast.makeText(mActivity.get(), platform + " 分享失败啦", Toast.LENGTH_SHORT).show();
diff --git a/app/src/main/java/com/umeng/soexample/share/ShareDetailActivity.java b/app/src/main/java/com/umeng/soexample/share/ShareDetailActivity.java
index eb292a3..9d45919 100644
--- a/app/src/main/java/com/umeng/soexample/share/ShareDetailActivity.java
+++ b/app/src/main/java/com/umeng/soexample/share/ShareDetailActivity.java
@@ -4,11 +4,22 @@
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.util.ArrayList;
+import java.util.HashMap;
import android.app.ProgressDialog;
+import android.content.Context;
import android.content.Intent;
+import android.content.res.AssetManager;
+import android.graphics.Bitmap;
import android.os.Bundle;
+import android.os.Environment;
+import android.os.Handler;
+import android.os.Looper;
+import android.text.TextUtils;
+import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
@@ -23,6 +34,7 @@
import com.umeng.socialize.media.UMEmoji;
import com.umeng.socialize.media.UMImage;
import com.umeng.socialize.media.UMMin;
+import com.umeng.socialize.media.UMQQMini;
import com.umeng.socialize.media.UMVideo;
import com.umeng.socialize.media.UMWeb;
import com.umeng.socialize.media.UMusic;
@@ -33,6 +45,9 @@
import com.umeng.soexample.share.utils.StyleUtil;
import com.umeng.soexample.views.Item;
+import com.umeng.socialize.tracker.TrackerManager;
+import com.umeng.socialize.tracker.TrackerResultHandler;
+
/**
* Created by wangfei on 2018/1/23.
*/
@@ -44,15 +59,49 @@ public class ShareDetailActivity extends BaseActivity{
private LinearLayout container;
private ProgressDialog dialog;
+
+ // 演示企业微信 本地文件、本地视频文件分享
+ private File localfile;
+ private UMVideo localVideo;
+ private Context appContext;
+ private UMImage sinaImageLocal_1, sinaImageLocal_2;
+ private Handler H;
+
+ // 工具函数
+ private boolean writeFile(String filename, InputStream in) throws IOException
+ {
+ boolean bRet = true;
+ try {
+ OutputStream os = new FileOutputStream(filename);
+ byte[] buffer = new byte[4112];
+ int read;
+ while((read = in.read(buffer)) != -1)
+ {
+ os.write(buffer, 0, read);
+ }
+ in.close();
+ in = null;
+ os.flush();
+ os.close();
+ os = null;
+ } catch (FileNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ bRet = false;
+ }
+ return bRet;
+ }
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ appContext = this.getApplicationContext();
share_media = (SHARE_MEDIA) getIntent().getSerializableExtra("platform");
String name = getIntent().getStringExtra("name");
setTitle(name);
setBackVisibily();
initViews();
-
+ H = new Handler(Looper.getMainLooper());
}
private void initViews(){
LinearLayout container = (LinearLayout)findViewById(R.id.platform_container);
@@ -74,6 +123,8 @@ public void onClick(View view) {
shareImageNet();
}else if (style.startsWith(StyleUtil.WEB00.substring(0,2))){
shareUrl();
+ }else if (style.equals(StyleUtil.WEB000)){
+ shareUrlWithRootTrackCode(appContext);
}else if (style.startsWith(StyleUtil.MUSIC00.substring(0,2))){
shareMusic();
}else if (style.startsWith(StyleUtil.VIDEO00.substring(0,2))){
@@ -86,8 +137,14 @@ public void onClick(View view) {
shareEmoji();
}else if (style.equals(StyleUtil.FILE)){
shareFile();
+ }else if (style.equals(StyleUtil.LOCALVIDEO)) {
+ shareLocalVideo();
+ }else if (style.equals(StyleUtil.LOCALFILE)) {
+ shareLocalFile();
}else if (style.equals(StyleUtil.MULIMAGE)){
shareMulImage();
+ }else if (style.equals(StyleUtil.QQMiniApp)) {
+ shareQQMiniApp();
}
}
});
@@ -140,12 +197,77 @@ public void shareUrl(){
.setPlatform(share_media)
.setCallback(shareListener).share();
}
+
+ // ROOT Track Code获取功能见说明:https://developer.umeng.com/docs/128606/detail/200739
+ public void shareUrlWithRootTrackCode(final Context context) {
+ final String webUrl = Defaultcontent.url;
+ HashMap customParam = new HashMap();
+ customParam.put("userId", "123566");
+ customParam.put("website", "baidu.com");
+ customParam.put("0123456789abcdefg", "key_length_too_long");
+ customParam.put("值长度超限", "012345678901234567890123456789012345678901234567890123456789abcde");
+ customParam.put("valueIsEmpty", "");
+ String umid = TrackerManager.getUMID(context);
+ if (TextUtils.isEmpty(umid)) {
+ Toast.makeText(context,"UMID获取失败,请稍后重试!", Toast.LENGTH_LONG).show();
+ return;
+ }
+ TrackerManager.requestTrackerCode(context,
+ "59892f08310c9307b60023d0", umid, webUrl, null, customParam,
+ new TrackerResultHandler() {
+ @Override
+ public void codeGenerateSuccess(final String rootTrackCode) {
+ if (H != null) {
+ H.post(new Runnable() {
+ @Override
+ public void run() {
+ Toast.makeText(appContext,"获取rootTrackCode 成功了。", Toast.LENGTH_LONG).show();
+ String newWebUrl = webUrl + "?um_rtc=" + rootTrackCode;
+ UMWeb rootTrackWeb = new UMWeb(newWebUrl);
+ rootTrackWeb.setTitle("Web title with root track code.");
+ rootTrackWeb.setThumb(new UMImage(ShareDetailActivity.this, R.drawable.thumb ));
+ rootTrackWeb.setDescription("root track code sample.");
+
+ new ShareAction(ShareDetailActivity.this)
+ .withMedia(rootTrackWeb)
+ .setPlatform(share_media)
+ .setCallback(shareListener).share();
+ }
+ });
+ }
+
+ }
+
+ @Override
+ public void codeGenerateFailed(Throwable t) {
+ if (H != null) {
+ final String errorMsg = t.getMessage();
+ H.post(new Runnable() {
+ @Override
+ public void run() {
+ Toast.makeText(appContext,"获取rootTrackCode 失败了: " + errorMsg, Toast.LENGTH_LONG).show();
+ UMWeb web = new UMWeb(Defaultcontent.url);
+ web.setTitle("This is web title");
+ web.setThumb(new UMImage(ShareDetailActivity.this, R.drawable.thumb));
+ web.setDescription("my description");
+ new ShareAction(ShareDetailActivity.this)
+ .withMedia(web)
+ .setPlatform(share_media)
+ .setCallback(shareListener).share();
+ }
+ });
+ }
+
+ }
+ });
+ }
+
public void shareMusic(){
UMusic music = new UMusic(Defaultcontent.musicurl);
music.setTitle("This is music title");
music.setThumb(new UMImage(this, R.drawable.thumb));
music.setDescription("my description");
- music.setmTargetUrl(Defaultcontent.url);
+ music.setmTargetUrl(Defaultcontent.musicurl);
new ShareAction(ShareDetailActivity.this).withMedia(music )
.setPlatform(share_media)
.setCallback(shareListener).share();
@@ -159,6 +281,80 @@ public void shareVideo(){
.setPlatform(share_media)
.setCallback(shareListener).share();
}
+
+ public void shareLocalFile() {
+ if (localfile == null) {
+ String umengCacheDir = this.getExternalFilesDir(null) + File.separator + "umeng_cache";
+ File dir = new File(umengCacheDir);
+ if (!dir.exists()) {
+ dir.mkdir();
+ }
+ String localFilePath = umengCacheDir + File.separator + "localFile.txt";
+ localfile = new File(localFilePath);
+ if (!localfile.exists()) {
+ try {
+ localfile.createNewFile();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ if (SocializeUtils.File2byte(localfile).length <= 0) {
+ String content = "U-share分享";
+ byte[] contentInBytes = content.getBytes();
+ try {
+ FileOutputStream fop = new FileOutputStream(localfile);
+ fop.write(contentInBytes);
+ fop.flush();
+ fop.close();
+
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+ }
+ new ShareAction(ShareDetailActivity.this)
+ .withFile(localfile)
+ .withText(Defaultcontent.text)
+ .withSubject(Defaultcontent.title)
+ .setPlatform(share_media)
+ .setCallback(shareListener).share();
+
+ }
+
+ public void shareLocalVideo() {
+ //UMVideo localVideo = new UMVideo();
+ if (localVideo == null) {
+ String umengCacheDir = this.getExternalFilesDir(null) + File.separator + "umeng_cache";
+ File dir = new File(umengCacheDir);
+ if (!dir.exists()) {
+ dir.mkdir();
+ }
+ String localVidemoFileName = "localvideo.mp4";
+ AssetManager am = this.getAssets();
+ try {
+ InputStream is = am.open(localVidemoFileName);
+
+ boolean result = writeFile(umengCacheDir + File.separator + localVidemoFileName, is);
+ if (result) {
+ File video = new File(umengCacheDir + File.separator + localVidemoFileName);
+ localVideo = new UMVideo(video);
+ }
+
+ } catch (Throwable e) {
+
+ }
+ }
+ new ShareAction(ShareDetailActivity.this)
+ .withMedia(localVideo)
+ .withText(Defaultcontent.text)
+ .withSubject(Defaultcontent.title)
+ .setPlatform(share_media)
+ .setCallback(shareListener).share();
+ }
+
public void shareTextAndImage(){
UMImage imagelocal = new UMImage(this, R.drawable.logo);
imagelocal.setThumb(new UMImage(this, R.drawable.thumb));
@@ -168,13 +364,34 @@ public void shareTextAndImage(){
.setCallback(shareListener).share();
}
public void shareMulImage(){
- UMImage imagelocal1 = new UMImage(this, R.drawable.logo);
- imagelocal1.setThumb(new UMImage(this, R.drawable.thumb));
- UMImage imagelocal2 = new UMImage(this, R.drawable.thumb);
- imagelocal2.setThumb(new UMImage(this, R.drawable.thumb));
- new ShareAction(ShareDetailActivity.this).withText("多图分享").withMedias(imagelocal1,imagelocal2 )
- .setPlatform(share_media)
- .setCallback(shareListener).share();
+
+
+ if(share_media == SHARE_MEDIA.SINA){
+ // 新浪微博多图分享仅支持共享路径 /data/data/应用包名/files/ 下图片文件
+ //将图片copy到/data/data/应用包名/files/下
+ prepareSinaImages();
+ File sinaImage_1 = new File(getExternalFilesDir(null) + "/datu.jpg");
+ File sinaImage_2 = new File(getExternalFilesDir(null) + "/logo.png");
+ sinaImageLocal_1 = new UMImage(this, sinaImage_1);
+ sinaImageLocal_2 = new UMImage(this, sinaImage_2);
+ // 通过FileProvider方式跨App分享图片时,
+
+ new ShareAction(ShareDetailActivity.this).withText("多图分享").withMedias(sinaImageLocal_1, sinaImageLocal_2)
+ .setPlatform(share_media)
+ .setCallback(shareListener).share();
+
+ }else {
+ UMImage imagelocal1 = new UMImage(this, R.drawable.logo);
+ imagelocal1.setThumb(new UMImage(this, R.drawable.thumb));
+ UMImage imagelocal2 = new UMImage(this, R.drawable.datu);
+ imagelocal2.setThumb(new UMImage(this, R.drawable.datu));
+
+ new ShareAction(ShareDetailActivity.this).withText("多图分享").withMedias(imagelocal1,imagelocal2 )
+ .setPlatform(share_media)
+ .setCallback(shareListener).share();
+ }
+
+
}
public void shareFile(){
File file = new File(this.getFilesDir()+"test.txt");
@@ -209,7 +426,7 @@ public void shareFile(){
.setCallback(shareListener).share();
}
public void shareEmoji(){
- UMEmoji emoji = new UMEmoji(this,"http://img5.imgtn.bdimg.com/it/u=2749190246,3857616763&fm=21&gp=0.jpg");
+ UMEmoji emoji = new UMEmoji(this,R.drawable.tutu);
emoji.setThumb(new UMImage(this, R.drawable.thumb));
new ShareAction(ShareDetailActivity.this)
.withMedia(emoji)
@@ -228,6 +445,21 @@ public void shareMINApp(){
.setPlatform(share_media)
.setCallback(shareListener).share();
}
+
+ public void shareQQMiniApp() {
+ UMQQMini qqMini = new UMQQMini(Defaultcontent.url);
+ qqMini.setThumb(new UMImage(this, Defaultcontent.imageurl)); // 缩略图支持网络图片和本地图片
+ qqMini.setTitle(Defaultcontent.title);
+ qqMini.setDescription(Defaultcontent.text);
+ qqMini.setMiniAppId("1110429485");
+ qqMini.setPath("pages/index/index");
+ new ShareAction(ShareDetailActivity.this)
+ .withMedia(qqMini)
+ .setPlatform(share_media)
+ .setCallback(shareListener).share();
+
+ }
+
@Override
public int getLayout() {
return R.layout.activity_usharedetail;
@@ -268,4 +500,37 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode,resultCode,data);
}
+
+
+ private void copyFile(final String fileName) {
+ final File file = new File(getExternalFilesDir(null).getPath() + "/" + fileName);
+ if (!file.exists()) {
+ Thread thread = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ InputStream inputStream = getAssets().open(fileName);
+ OutputStream outputStream = new FileOutputStream(file);
+ byte[] buffer = new byte[1444];
+ int readSize;
+ while ((readSize = inputStream.read(buffer)) != 0) {
+ outputStream.write(buffer, 0, readSize);
+ }
+ inputStream.close();
+ outputStream.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ thread.start();
+ }
+ }
+ private void prepareSinaImages() {
+ copyFile("logo.png");
+ copyFile("datu.jpg");
+ }
+
+
+
}
diff --git a/app/src/main/java/com/umeng/soexample/share/SharePlatformActivity.java b/app/src/main/java/com/umeng/soexample/share/SharePlatformActivity.java
index 975ece2..85f92ff 100644
--- a/app/src/main/java/com/umeng/soexample/share/SharePlatformActivity.java
+++ b/app/src/main/java/com/umeng/soexample/share/SharePlatformActivity.java
@@ -63,29 +63,25 @@ private void initPlatforms(){
platforms.add(SHARE_MEDIA.WEIXIN.toSnsPlatform());
platforms.add(SHARE_MEDIA.WEIXIN_CIRCLE.toSnsPlatform());
platforms.add(SHARE_MEDIA.WEIXIN_FAVORITE.toSnsPlatform());
+ platforms.add(SHARE_MEDIA.WXWORK.toSnsPlatform());
platforms.add(SHARE_MEDIA.SINA.toSnsPlatform());
platforms.add(SHARE_MEDIA.QQ.toSnsPlatform());
platforms.add(SHARE_MEDIA.QZONE.toSnsPlatform());
platforms.add(SHARE_MEDIA.ALIPAY.toSnsPlatform());
platforms.add(SHARE_MEDIA.DINGTALK.toSnsPlatform());
- platforms.add(SHARE_MEDIA.RENREN.toSnsPlatform());
platforms.add(SHARE_MEDIA.DOUBAN.toSnsPlatform());
platforms.add(SHARE_MEDIA.SMS.toSnsPlatform());
platforms.add(SHARE_MEDIA.EMAIL.toSnsPlatform());
platforms.add(SHARE_MEDIA.YNOTE.toSnsPlatform());
platforms.add(SHARE_MEDIA.EVERNOTE.toSnsPlatform());
- platforms.add(SHARE_MEDIA.LAIWANG.toSnsPlatform());
- platforms.add(SHARE_MEDIA.LAIWANG_DYNAMIC.toSnsPlatform());
platforms.add(SHARE_MEDIA.LINKEDIN.toSnsPlatform());
platforms.add(SHARE_MEDIA.YIXIN.toSnsPlatform());
platforms.add(SHARE_MEDIA.YIXIN_CIRCLE.toSnsPlatform());
- platforms.add(SHARE_MEDIA.TENCENT.toSnsPlatform());
platforms.add(SHARE_MEDIA.FACEBOOK.toSnsPlatform());
platforms.add(SHARE_MEDIA.FACEBOOK_MESSAGER.toSnsPlatform());
platforms.add(SHARE_MEDIA.VKONTAKTE.toSnsPlatform());
platforms.add(SHARE_MEDIA.TWITTER.toSnsPlatform());
platforms.add(SHARE_MEDIA.WHATSAPP.toSnsPlatform());
- platforms.add(SHARE_MEDIA.GOOGLEPLUS.toSnsPlatform());
platforms.add(SHARE_MEDIA.LINE.toSnsPlatform());
platforms.add(SHARE_MEDIA.INSTAGRAM.toSnsPlatform());
platforms.add(SHARE_MEDIA.KAKAO.toSnsPlatform());
@@ -95,6 +91,9 @@ private void initPlatforms(){
platforms.add(SHARE_MEDIA.FLICKR.toSnsPlatform());
platforms.add(SHARE_MEDIA.FOURSQUARE.toSnsPlatform());
platforms.add(SHARE_MEDIA.DROPBOX.toSnsPlatform());
+ platforms.add(SHARE_MEDIA.BYTEDANCE.toSnsPlatform());
+ platforms.add(SHARE_MEDIA.BYTEDANCE_PUBLISH.toSnsPlatform());
+ platforms.add(SHARE_MEDIA.BYTEDANCE_FRIENDS.toSnsPlatform());
platforms.add(SHARE_MEDIA.MORE.toSnsPlatform());
}
diff --git a/app/src/main/java/com/umeng/soexample/share/utils/Defaultcontent.java b/app/src/main/java/com/umeng/soexample/share/utils/Defaultcontent.java
index f2e0e1f..2726eb7 100644
--- a/app/src/main/java/com/umeng/soexample/share/utils/Defaultcontent.java
+++ b/app/src/main/java/com/umeng/soexample/share/utils/Defaultcontent.java
@@ -11,9 +11,8 @@ public class Defaultcontent {
public static String text = "欢迎使用【友盟+】社会化组件U-Share,SDK包最小,集成成本最低,助力您的产品开发、运营与推广";
//public static String text = "OuHlpMpiqYkHTFli4j1rU5bnfp5o1hHTzYU2ZPJIEWF2ClQYAcPHDygiKAt1mWA0pMh4t2Cf4Ddrdlv8xSbJejAOr0KwIaYWEuFLfwVXipaBGRDsx9d4ELDvGNFT6EthJgR6mA2oGxuDTfaxvP6Qv1Mw3Z3inQxjMKEkEIFGcYlz8HScgNOefsx0E90ignsMwsasY7hWtwCF9RVRjRJSLAUppOeZiwQL1PjyHPa0bTMRVyvoNBrEpo4IQeAVt02GamfAYmoZ8086h5AXCzvqTKrL6H7hozqtdC38rTqPJ1FFLKodMGVRCikmYjuSdJf3r6WqgArr1cbRFSFHE69JXvsm3wcfhJzNWFRH2K9DTLDSzz6juHKXWJPeQIUsQLnbOO14g4ZU6O2J8lKaXUcVLmzFDSg2JvPkd4AsvNgAw4TULf9QJ91iTIuV6WZAirNp1Rh7NRt76yawcjtaSkrMTnkBa7V8pDLQFGr4Dy8hXcLfbxwdFkjeKlHhpcOlNmba620zwNU80t2XsE74KFtW8qHUG4stI6wDkmTNGpL2bdoNnp6SjKUCgAKgGcwm84eLd3ZtJWimlL3HvAFa0Pihd0BUXLIoLAzkKI7evtEAIrRypbfMQIGvuIcw9WESmZfb30QBZWtRMrUgLnjzwAt5gv8UpNF02RKPsO2IhGvqkcHQVLVM6eUoSGqbQquoe9G7gh4zSzbZPW9ASMte7wJlypkMApkYlMo13378JfGLrDWoA5qpBPrRWsRcwEOVgfgPiUtYZPRV6EvZmtts6TS0ZszcJsJc8fBnuDJtRYGYSt5JDWsRDTXLgqIptjCZ03YKvlvaEBW35tl5OxwR0XhnnRzivzcEuNJYmlMy3bXU2BP6PH1MgJJoNy435SlcKW7XbJFjOENByYfYllazTtiwexryZ29UCJeyIbYsCmyBa82GthR9jg3S8yDKw6g36lifeUedhfsV0r42WO1GN6WNiLgr5k4ySoNOgm0a06xhHzTXSaruSggH1ik0M9KKa5qt96ADOMcLrRLdNTogufLoG3AxCjCaUoGUNTkY5RHpltgFemiixpOsHbDtXPefGKs3zWaUQAPNPcbZzlYMICssXQaZFr33gktEcfWTVPQ1UhpHWQbDkcRZSt9XTTBR7o0UhZjlxE2K27YoWMy2aXzsXYTnvLx7Nw92XTCnBqHuYIEEDFT69IPo4qOkWfv7YX7nHZZcJCUlvVZZ0mu095knDJFnsrezLXRkXvxQCvJ3TANPSm58JSiY5Dnq7Gr74xa77qE6xvvJsdrYvcOaSSyMuvck2Ul45msvxR5jFtzGTTxebNZJCTp0aSfzSPT86PWfPHOHNllghMqIIxMIStfPclZ5Itaa5rIYfva4sLye8QFCzRtVvslMSiurhVzlYkdSe45sdgQxzfgNi9oAvOP9jXBUIo3dcmnMIRMKUzesXx5PmVRyP2XCzcyFe2Q4xj8eVAJdLbvZmErFhrfi4Yu5yUnUVDzQj6PTrV6OXg0sQoJg0YxHNZ5sxNWXhdBCWFmcagiNYYzVZLqhD2w5nsuByMhSXybc8511lWuGn4PJ3JzE8pjvWDeYwVHfErT3enGMPjSR3VG0IWoI40xgmwprxOByvhaD1xXV8SpchDJApCa8z4lcYiDVJY9Ovi0WyHIMeJTBd8Lc786JsxXfGev28XxXyCDzDFl2Q5JosGQSKrBOpXWjlgOmjvUoEH5vJ6ZP8EFCBiYpEoay7eNXB5po3kyaxUpMK1GmDCcAVCJsDuL9QRAIklGObWawRqvjUIDwuXd1kpImF7gr1nMeOe8BTzWYZ5jKAZchbJqEaHNVQ6dQYONbEBcL4pBXWCbAeCQaz28rYF6zhqIR0M9TWvvgAw5fhrY7ND2qGBIU6T9xiV1yKAYaqozFgAcWIooUmH6SwCn9YrcKJlGhDpNWlVM9NunKiZTTykvoZhHsAWrHIBJSHh1UgdHOIkgdGnUJWaN9PcbFwFyTyBHHLPYC1wZzA6CBhL4bug6UfmKyFbuJ5KoaNke0QhVO7J7re2VjQPy0gp2PQ2nH2XNCvCNbwpIJjkC8PhLpVEuy1CyltvjPBM9z5IaOiuln5FthuD5TDQtgyiq4J8T3aiphiAXVUSYH619OAwmdKj0PNX5emfPsKxNlk04YazA8LOs7ZPf6vXyR1U8OIWb9k5LXnioUfIFcJl2Spv21aHDRFVgu3LzSwogq4JPa6DugVhFwBNbGoqy0XI344boljZmEKXcoafiHdPtxTGMc3XhJEchgwce53OWWQ3LczLGlts0L5rr5p6jXK0N3nu8fqnNE2F9wmO9m59poxWqNCAOxnzZQIQ2mePMfvVqtqRNqWzvD78eCEzLrRYaEXg7q8HlA5fY8YlgFixGXFJuFh8X49FfqbyO04fiFMKvEAHbHFJB9BwQr6V2CVP6vagms9ao3tutohv2ncC86biqfMxL6GmqS77GsAsdhMfuXixmlDjaR7NI3kTTGVRC0MixgkEkc8UnexlXBCN8L0EU08YYMm8zOAHv2pDRZ1QVjT0pgsq8q2BPWnihnsTU1CcPu5eYmdEOuf2hD3D90jld5Qrl0NxqfLsC8PXuMVc1UrKEvzKYnWOe4xVzNrH54LflKnTixZUNLhyOVi5pGiB1llFlv0z8T6H7fDqjo342GYko0r8vjNZ7rIevH4Xm61XtApFAMlcfuljfEdbwEzIwPFWvgM6N6vlZZhOifNfdshiW45U7G31BCW15L4RPOS746ITQpE22K1nwmOHnyVu5bE4tJoE16nR0bYiGf00JOSQSNf2sikrinGW1VynsjfHID1f5SLw35xGR6h3NZ4SjV8inBBDvZNeZbQrzLG2hbPK9HI9iXS9w7RXPpozQ8Uu6Xi7TabM2UD9UPXcynDtu24UqV98fQBDhYcESZJ1kdnUtZ7MQ9lqpEtl7h81OZZ3rQYBjzzFc99KnEOzUWpQH9Yfemlfmj3NDdQrS27cIoShnnh1aJrAKfdnUYC0mk5b1VepZgAXPrKjStP7VXnELg6O870i8q7ExUkJEydbhkDKR8ZoPOx4o1QnOIhAZCZutOXlSjTyTkGqgvCwQAGNXzNF8CDZDB8PouCqRRERP40ZqbRiAUc84HW4uFGVjtIAk6f9A90qLA5QDqSCRxBnUlzuJ6b0amNZzuJAOIQNR5sPME0AGZnOJgholhgsHrnu3WS57vILOYEEdVA5UrRwx9pYWYmpFrGU6iu1NqQUoFipkpId9dIwSnazCfcBNHJ2mEUmslyf3kWJry9jx0CGUdNunJiEVQjZYTtz7XbFsm2DJxc0up0iixdxWJMUO86crL36K6o7au8JqUl8dgDbvOoCEyqjozNKPggTNrmXNV5K1i7zsMLmFiIKDJiTJMcfjesA8qQ14Od0jp2qS7tvIzBwYs612eT3Ej9dPSooKgaQnB1LlOALRTg6mJVQ8lVKWf0BfaKLWxv3E3rrpv2aKtf94a62QUWt0Jcvhz6QfJlt2sjNvDDJ39uHcCbouSXiiBMEQC9aotJGcrefSFGJUxMwVCpmj8T1DKUFK9yefMzfyEuNkQ0FJMEBwprq7o37djbW6bPgatPYpCEJBgYcRuGJWhcSxLsrcDtUgtCXGoAmpoJqvdK8x2JfkLhpJ5s5OYsOv6L0CQjzF8wPOnPhZ00cEn5eI8O6Sb7Ybxdj7HUpfg6LcObMcGxIhwsabC0Y67DADIXgmK3KJRa8tcA78DOeBC7TrMgdYlZ6b5lA7oRGIyw9Wv0SiktxHvMkwkc4Miw08FApZ9JhOLfd8tpEe1C9FrLZnmW7UZYlf4XoXA6clO9KpnUqf5r73jfPDV8oONN1KOFWtqJUyGJykuo36alZYYZIq6qgNIQEin8TsaNtH93QuZlvzukvcoJ8qILIGvV6iJ7zcf6lBYWcoAcDPHd02O9IkKrvuPMEzZebyZxw1Rddjuo20Aqjkg07WXb1Neo6zqeDWMyJdQfC0UN0p0xU4yEyIQ8M1M2egy1G2NT4SQ3JsOpJ7ZSBWk3fAhPRZ5sCWKXBg3OYeXedoHy7mnZYW1x6yYEFxsgLEY1VdttfHh9IedsirrLfA4eCYlrPsWDk7ao2zRazOwMflyI8dVe85cVBiSFVeb5l9zwCbPBrefxzEO2QnWEhbKk0fZrqf44GBtKQbURms2seKWqDmbZnBA3LQSpmIRfprgq4JJ2iy1TqFpYtlm2tI6VRFo4NjncwERjDaB8rwxUZaUnPBS7SS3plv32GcLMhNg5OqwE6XL45ZhswPjfqQe0jHOEUGysTUBGGUXudfZxWQUnqz03tASxc90zEGKc2QlaBqiQEBmJHAVfnVWHmDOO66oD2LHHp49rPGVDIiG8tBxTc0rL2ImIiKZR9rkxvAoPSmciqZWCSU7jrv6DeYGReUNeFiCkQkGn5IemQUY5vd4iuGrNantAbojCM9PW4Fpl3ptjOjwCirTMGSh0xMt9nKiTXsthwgGYX5BZYF9X8QSUtTuvflK5wMhUV183V8t9FiRYJUFbaPROVhiaeBTTQJp8o0BL2Zdic243r8CrpuNaIJeR3xRAxKJr2Or7fukwxytRiKuuTORqYtMWVp9Xl12CueVTZYtUfsBCkL8awiQYcUpUazOt8JK0NyhQ0cTeWNIZEg8yfRBAqHsSpwRYt4hIFaozDPIHQJV3Nm41L6y6kG9TCn4YvagT6XPIkGl8tA3BKr9U3vlmP7TAkf1xOCw97tUzfMGqdTrJhcrTFFjIVSGsMVlgRQk3FmG3N2Xfoi8ZjgTp5iP6tmGZjQLS4PkNsZ45ePkFcMK8He6PAEmIQujKwTGOl8d9jbESYoGVQeqx0aNOt1BAe4j2sqHgMOR1ywbCplgkoSIEfV84O33lTF77d2ZZjemO9xhLiFjAfJAiblQVTfkcXXvbTjz4gcOPknzLsjaEGRHfQ9PekN3X5C9Vg8hyIbX3NL6Eash2zuTLJYQdApyyEeiQ5ZBhlAdHkM2Cp6NGPE4oKj9AIao7GAFrG2CwkddF0D5wJDo64w7dfKybPEpEEqO6VeDx7v5JvXgD945v79tAdPyqDVicilNKGY0X40hBGXgJuHAIPnbbPtln53fXYvzdstWANMA0I6lC8hkkV6rWZvxvChMmEuWdPJK0tV5lYysOIIVrENk1XKtxR1nbn8AyzJTgsaBWVfWt7O3YAwePIJ9KZ4dx3b0g67WIn58q8Tg3ZqBr7evQRpH1B3g994c5geKXl3yyxFmbLlcv0fGnCn4jWzLrGLiMOzyqHcaqMHhW3Lf89x58RJ1xAfwexAbm0fdDZ73dXvGrMSDPb7wX7LUvMhjrYlKtstiYZ21y07cpl1eZ6ddaMzKmCUrUE3bv5nljtG676uOjLqAaLhOM20NUTOMFcvdm0QPx2fcz0TEV5fF89evJF35a7i0hnlpQ9Y4EyGzDVGSRrLaQNfowXZnBL6KzfomEX4I5oA0nZ1zEWPovYAVSVTvUn6ZaGgZ9eKUMzntO9L8dLsD9lB8BByc0j7NglVNl5uHAeOH0yXQ638FbS6SREbennh4xXLip4Ge9Nh9zrSitzjACuCqe9V9j3bYABcw1sp9xh4x1yc9O3ipfknixEbaD0auuWpPe3aSvNwBddF28Qz33088RWEisnFb0w3bu85V7S860H3zUwmonbFvLb6Rm26P44eyOp7VGpHG8iGviZ05A5zAKpByOC7mtuLxP3h13G0RE9jlTc4CPxce86EyImxnAjDGquQvyBEu3qOPxmYNpW46JjmvKGiH3JKm23gjeAY8O2xG9OAxi1j4c0vXNSBz9GvmwtoxMrLB1Ydvqh0TL9wjddYB9tzRgK9bB6UB79vvpkQ59yt3auaTSWqvXVvQUO5QymQxi9hkTg8aUk4dmdx9gbpMe1WyuvemFzLtg7S62AoloGf6lXkO4M9JMvmB8iHwJx95rFT4MqhGvR0N0H6dxWM2CRSqdqceaauOpfJsFBrgfpyQ4Gbg";
public static String title = "【友盟+】社会化组件U-Share";
- public static String imageurl = "https://mobile.umeng.com/images/pic/home/social/img-1.png";
+ public static String imageurl = "https://img.alicdn.com/tfs/TB1RDFDurr1gK0jSZFDXXb9yVXa-1120-460.jpg";
// public static String imageurl = "https://img.dawuhanmedia.com/liveimg/41/1490773976999103661055569.jpg";
- public static String videourl = "http://video.sina.com.cn/p/sports/cba/v/2013-10-22/144463050817.html";
+ public static String videourl = "http://video.sina.com.cn/p/sports/2020-01-15/detail-iihnzhha2647094.d.html";
public static String musicurl = "https://y.qq.com/n/yqq/song/108782194_num.html?ADTAG=h5_playsong&no_redirect=1";
-
}
diff --git a/app/src/main/java/com/umeng/soexample/share/utils/StyleUtil.java b/app/src/main/java/com/umeng/soexample/share/utils/StyleUtil.java
index f465e98..2a0cea1 100644
--- a/app/src/main/java/com/umeng/soexample/share/utils/StyleUtil.java
+++ b/app/src/main/java/com/umeng/soexample/share/utils/StyleUtil.java
@@ -27,9 +27,13 @@ public class StyleUtil {
public static String WEB11= "链接(有标题,有内容)";
public static String WEB10= "链接(有标题,无内容)";
public static String WEB01= "链接(无标题,有内容)";
+ public static String WEB000 = "链路跟踪链接 (带root track code)";
public static String EMOJI= "微信表情";
public static String FILE= "文件";
+ public static String LOCALVIDEO = "本地视频";
+ public static String LOCALFILE = "本地文件";
public static String MINAPP= "小程序(测试)";
+ public static String QQMiniApp = "QQ小程序";
public static void initStyles(SHARE_MEDIA share_media, ArrayList styles){
styles.clear();
if (share_media == SHARE_MEDIA.QQ){
@@ -38,6 +42,7 @@ public static void initStyles(SHARE_MEDIA share_media, ArrayList styles)
styles.add(StyleUtil.WEB11);
styles.add(StyleUtil.MUSIC11);
styles.add(StyleUtil.VIDEO11);
+ styles.add(StyleUtil.QQMiniApp);
}else if (share_media == SHARE_MEDIA.QZONE){
styles.add(StyleUtil.TEXT);
styles.add(StyleUtil.IMAGELOCAL);
@@ -60,6 +65,7 @@ public static void initStyles(SHARE_MEDIA share_media, ArrayList styles)
styles.add(StyleUtil.IMAGELOCAL);
styles.add(StyleUtil.IMAGEURL);
styles.add(StyleUtil.WEB11);
+ styles.add(StyleUtil.WEB000);
styles.add(StyleUtil.MUSIC11);
styles.add(StyleUtil.VIDEO11);
styles.add(StyleUtil.EMOJI);
@@ -80,14 +86,15 @@ else if (share_media == SHARE_MEDIA.WEIXIN_FAVORITE){
styles.add(StyleUtil.WEB11);
styles.add(StyleUtil.MUSIC11);
styles.add(StyleUtil.VIDEO11);
-
- } else if (share_media == SHARE_MEDIA.TENCENT){
+ }
+ else if (share_media == SHARE_MEDIA.WXWORK) {
+ // 企业微信
styles.add(StyleUtil.TEXT);
styles.add(StyleUtil.IMAGELOCAL);
styles.add(StyleUtil.IMAGEURL);
styles.add(StyleUtil.WEB11);
- styles.add(StyleUtil.MUSIC11);
- styles.add(StyleUtil.VIDEO11);
+ styles.add(StyleUtil.LOCALVIDEO);
+ styles.add(StyleUtil.LOCALFILE);
} else if (share_media == SHARE_MEDIA.DOUBAN){
styles.add(StyleUtil.TEXT);
styles.add(StyleUtil.TEXTANDIMAGE);
@@ -96,14 +103,6 @@ else if (share_media == SHARE_MEDIA.WEIXIN_FAVORITE){
styles.add(StyleUtil.WEB11);
styles.add(StyleUtil.MUSIC11);
styles.add(StyleUtil.VIDEO11);
- }else if (share_media == SHARE_MEDIA.RENREN){
- styles.add(StyleUtil.TEXT);
- styles.add(StyleUtil.TEXTANDIMAGE);
- styles.add(StyleUtil.IMAGELOCAL);
- styles.add(StyleUtil.IMAGEURL);
- styles.add(StyleUtil.WEB11);
- styles.add(StyleUtil.MUSIC11);
- styles.add(StyleUtil.VIDEO11);
}else if (share_media == SHARE_MEDIA.ALIPAY){
styles.add(StyleUtil.TEXT);
styles.add(StyleUtil.IMAGELOCAL);
@@ -115,7 +114,6 @@ else if (share_media == SHARE_MEDIA.WEIXIN_FAVORITE){
styles.add(StyleUtil.IMAGELOCAL);
styles.add(StyleUtil.IMAGEURL);
styles.add(StyleUtil.WEB11);
- styles.add(StyleUtil.VIDEO11);
}else if (share_media == SHARE_MEDIA.FACEBOOK_MESSAGER){
styles.add(StyleUtil.IMAGELOCAL);
styles.add(StyleUtil.IMAGEURL);
@@ -150,20 +148,6 @@ else if (share_media == SHARE_MEDIA.WEIXIN_FAVORITE){
styles.add(StyleUtil.WEB11);
styles.add(StyleUtil.MUSIC11);
styles.add(StyleUtil.VIDEO11);
- }else if (share_media == SHARE_MEDIA.LAIWANG){
-
- // styles.add(StyleUtil.IMAGELOCAL);
- // styles.add(StyleUtil.IMAGEURL);
- styles.add(StyleUtil.WEB11);
- styles.add(StyleUtil.MUSIC11);
- styles.add(StyleUtil.VIDEO11);
- }else if (share_media == SHARE_MEDIA.LAIWANG_DYNAMIC){
- //
- // styles.add(StyleUtil.IMAGELOCAL);
- // styles.add(StyleUtil.IMAGEURL);
- styles.add(StyleUtil.WEB11);
- styles.add(StyleUtil.MUSIC11);
- styles.add(StyleUtil.VIDEO11);
}else if (share_media == SHARE_MEDIA.INSTAGRAM){
styles.add(StyleUtil.IMAGELOCAL);
styles.add(StyleUtil.IMAGEURL);
@@ -190,11 +174,6 @@ else if (share_media == SHARE_MEDIA.WEIXIN_FAVORITE){
styles.add(StyleUtil.IMAGELOCAL);
styles.add(StyleUtil.IMAGEURL);
styles.add(StyleUtil.TEXTANDIMAGE);
- }else if (share_media == SHARE_MEDIA.GOOGLEPLUS){
- styles.add(StyleUtil.TEXT);
- styles.add(StyleUtil.IMAGELOCAL);
- styles.add(StyleUtil.IMAGEURL);
- styles.add(StyleUtil.TEXTANDIMAGE);
}else if (share_media == SHARE_MEDIA.EVERNOTE){
styles.add(StyleUtil.TEXT);
styles.add(StyleUtil.IMAGELOCAL);
@@ -243,7 +222,17 @@ else if (share_media == SHARE_MEDIA.WEIXIN_FAVORITE){
}else if (share_media == SHARE_MEDIA.DROPBOX) {
styles.add(StyleUtil.IMAGELOCAL);
styles.add(StyleUtil.IMAGEURL);
+ } else if (share_media == SHARE_MEDIA.BYTEDANCE) {
+ styles.add(StyleUtil.IMAGELOCAL);
+ styles.add(StyleUtil.MULIMAGE);
+ styles.add(StyleUtil.IMAGEURL);
+ styles.add(StyleUtil.LOCALVIDEO);
+ } else if (share_media == SHARE_MEDIA.BYTEDANCE_PUBLISH) {
+ styles.add(StyleUtil.LOCALVIDEO);
+ } else if (share_media == SHARE_MEDIA.BYTEDANCE_FRIENDS) {
+ styles.add(StyleUtil.IMAGELOCAL);
+ styles.add(StyleUtil.IMAGEURL);
+ styles.add(StyleUtil.WEB11);
}
-
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/umeng/soexample/share/views/AuthAdapter.java b/app/src/main/java/com/umeng/soexample/share/views/AuthAdapter.java
index 694fe2a..05580ec 100644
--- a/app/src/main/java/com/umeng/soexample/share/views/AuthAdapter.java
+++ b/app/src/main/java/com/umeng/soexample/share/views/AuthAdapter.java
@@ -96,20 +96,35 @@ public void onStart(SHARE_MEDIA platform) {
@Override
public void onComplete(SHARE_MEDIA platform, int action, Map data) {
SocializeUtils.safeCloseDialog(dialog);
- Toast.makeText(mContext, "成功了", Toast.LENGTH_LONG).show();
- notifyDataSetChanged();
+ mActivity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ Toast.makeText(mContext, "成功了", Toast.LENGTH_LONG).show();
+ notifyDataSetChanged();
+ }
+ });
}
@Override
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
SocializeUtils.safeCloseDialog(dialog);
- Toast.makeText(mContext, "失败:" + t.getMessage(), Toast.LENGTH_LONG).show();
+ mActivity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ Toast.makeText(mContext, "失败:" + t.getMessage(), Toast.LENGTH_LONG).show();
+ }
+ });
}
@Override
public void onCancel(SHARE_MEDIA platform, int action) {
SocializeUtils.safeCloseDialog(dialog);
- Toast.makeText(mContext, "取消了", Toast.LENGTH_LONG).show();
+ mActivity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ Toast.makeText(mContext, "取消了", Toast.LENGTH_LONG).show();
+ }
+ });
}
};
}
diff --git a/app/src/main/java/com/umeng/soexample/sp/SharedPreferencesHelper.java b/app/src/main/java/com/umeng/soexample/sp/SharedPreferencesHelper.java
new file mode 100644
index 0000000..9ed0c31
--- /dev/null
+++ b/app/src/main/java/com/umeng/soexample/sp/SharedPreferencesHelper.java
@@ -0,0 +1,89 @@
+package com.umeng.soexample.sp;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+import java.util.Map;
+
+public class SharedPreferencesHelper {
+ private SharedPreferences sharedPreferences;
+ /*
+ * 保存手机里面的名字
+ */private SharedPreferences.Editor editor;
+
+ public SharedPreferencesHelper(Context context, String FILE_NAME) {
+ sharedPreferences = context.getSharedPreferences(FILE_NAME,
+ Context.MODE_PRIVATE);
+ editor = sharedPreferences.edit();
+ }
+
+
+ /**
+ * 存储
+ */
+ public void put(String key, Object object) {
+ if (object instanceof String) {
+ editor.putString(key, (String) object);
+ } else if (object instanceof Integer) {
+ editor.putInt(key, (Integer) object);
+ } else if (object instanceof Boolean) {
+ editor.putBoolean(key, (Boolean) object);
+ } else if (object instanceof Float) {
+ editor.putFloat(key, (Float) object);
+ } else if (object instanceof Long) {
+ editor.putLong(key, (Long) object);
+ } else {
+ editor.putString(key, object.toString());
+ }
+ editor.commit();
+ }
+
+ /**
+ * 获取保存的数据
+ */
+ public Object getSharedPreference(String key, Object defaultObject) {
+ if (defaultObject instanceof String) {
+ return sharedPreferences.getString(key, (String) defaultObject);
+ } else if (defaultObject instanceof Integer) {
+ return sharedPreferences.getInt(key, (Integer) defaultObject);
+ } else if (defaultObject instanceof Boolean) {
+ return sharedPreferences.getBoolean(key, (Boolean) defaultObject);
+ } else if (defaultObject instanceof Float) {
+ return sharedPreferences.getFloat(key, (Float) defaultObject);
+ } else if (defaultObject instanceof Long) {
+ return sharedPreferences.getLong(key, (Long) defaultObject);
+ } else {
+ return sharedPreferences.getString(key, null);
+ }
+ }
+
+ /**
+ * 移除某个key值已经对应的值
+ */
+ public void remove(String key) {
+ editor.remove(key);
+ editor.commit();
+ }
+
+ /**
+ * 清除所有数据
+ */
+ public void clear() {
+ editor.clear();
+ editor.commit();
+ }
+
+ /**
+ * 查询某个key是否存在
+ */
+ public Boolean contain(String key) {
+ return sharedPreferences.contains(key);
+ }
+
+ /**
+ * 返回所有的键值对
+ */
+ public Map getAll() {
+ return sharedPreferences.getAll();
+ }
+}
diff --git a/app/src/main/java/com/umeng/soexample/twitterapi/TwitterShareReceiver.java b/app/src/main/java/com/umeng/soexample/twitterapi/TwitterShareReceiver.java
new file mode 100644
index 0000000..63692ee
--- /dev/null
+++ b/app/src/main/java/com/umeng/soexample/twitterapi/TwitterShareReceiver.java
@@ -0,0 +1,11 @@
+package com.umeng.soexample.twitterapi;
+
+import com.umeng.socialize.handler.UMTwitterReceiver;
+
+/**
+ * Created by umeng on 2018/11/13.
+ */
+
+public class TwitterShareReceiver extends UMTwitterReceiver {
+
+}
diff --git a/app/src/main/java/com/umeng/soexample/wxapi/WXEntryActivity.java b/app/src/main/java/com/umeng/soexample/wxapi/WXEntryActivity.java
index ffb8dc3..f16859e 100644
--- a/app/src/main/java/com/umeng/soexample/wxapi/WXEntryActivity.java
+++ b/app/src/main/java/com/umeng/soexample/wxapi/WXEntryActivity.java
@@ -6,6 +6,4 @@
public class WXEntryActivity extends WXCallbackActivity {
-
-
}
diff --git a/app/src/main/res/drawable/datu.jpg b/app/src/main/res/drawable/datu.jpg
new file mode 100644
index 0000000..4a4755f
Binary files /dev/null and b/app/src/main/res/drawable/datu.jpg differ
diff --git a/app/src/main/res/drawable/tutu.gif b/app/src/main/res/drawable/tutu.gif
new file mode 100644
index 0000000..7f4903b
Binary files /dev/null and b/app/src/main/res/drawable/tutu.gif differ
diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml
index c6f8ce0..f8005b8 100644
--- a/app/src/main/res/layout/activity_home.xml
+++ b/app/src/main/res/layout/activity_home.xml
@@ -26,35 +26,19 @@
android:layout_below="@id/title_bar"
app:umicon="@drawable/um_app"
android:layout_height="@dimen/item_height"/>
-
-
diff --git a/app/src/main/res/layout/activity_process_1.xml b/app/src/main/res/layout/activity_process_1.xml
new file mode 100644
index 0000000..2102d59
--- /dev/null
+++ b/app/src/main/res/layout/activity_process_1.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_uapp.xml b/app/src/main/res/layout/activity_uapp.xml
index 60bf8a3..35118cd 100644
--- a/app/src/main/res/layout/activity_uapp.xml
+++ b/app/src/main/res/layout/activity_uapp.xml
@@ -46,6 +46,18 @@
android:layout_height="57dp"
app:umfuncname="数值型事件"
app:umfuncdesc="可额外指定数值型参数"/>
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_udplus.xml b/app/src/main/res/layout/activity_udplus.xml
deleted file mode 100644
index 08a0de7..0000000
--- a/app/src/main/res/layout/activity_udplus.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/activity_ugame.xml b/app/src/main/res/layout/activity_ugame.xml
deleted file mode 100644
index 0b03616..0000000
--- a/app/src/main/res/layout/activity_ugame.xml
+++ /dev/null
@@ -1,166 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/activity_upush.xml b/app/src/main/res/layout/activity_upush.xml
index 1be4842..ef87125 100644
--- a/app/src/main/res/layout/activity_upush.xml
+++ b/app/src/main/res/layout/activity_upush.xml
@@ -125,117 +125,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/functitle.xml b/app/src/main/res/layout/functitle.xml
index d166992..bf56c19 100644
--- a/app/src/main/res/layout/functitle.xml
+++ b/app/src/main/res/layout/functitle.xml
@@ -11,7 +11,6 @@
android:text="题目"
android:id="@+id/item_title"
android:layout_centerVertical="true"
- android:layout_toRightOf="@id/item_icon"
android:layout_marginLeft="16dp"
android:textColor="@color/textcolor"
android:layout_height="wrap_content" />
diff --git a/app/src/main/res/layout/umeng_custom_card_message.xml b/app/src/main/res/layout/umeng_custom_card_message.xml
new file mode 100644
index 0000000..4ceab97
--- /dev/null
+++ b/app/src/main/res/layout/umeng_custom_card_message.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/raw/umeng_push_notification_default_sound.mp3 b/app/src/main/res/raw/umeng_push_notification_default_sound.mp3
new file mode 100644
index 0000000..3b17e28
Binary files /dev/null and b/app/src/main/res/raw/umeng_push_notification_default_sound.mp3 differ
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 82326a3..055aa67 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -11,5 +11,5 @@
系统通知开关是否打开:
CPU:
Android版本:
- 1266254913438718
+ 2094171727560943
diff --git a/app/src/main/res/values/style.xml b/app/src/main/res/values/style.xml
index ad8cdb2..3a8b60d 100644
--- a/app/src/main/res/values/style.xml
+++ b/app/src/main/res/values/style.xml
@@ -13,4 +13,13 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/filepaths.xml b/app/src/main/res/xml/filepaths.xml
new file mode 100644
index 0000000..16fcb0e
--- /dev/null
+++ b/app/src/main/res/xml/filepaths.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/network_security_config.xml b/app/src/main/res/xml/network_security_config.xml
new file mode 100644
index 0000000..3a29ab0
--- /dev/null
+++ b/app/src/main/res/xml/network_security_config.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index c2eea8e..f5ee06b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,21 +1,30 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
-
buildscript {
repositories {
- jcenter()
+ google()
+ mavenCentral()
+ maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
+ maven { url 'https://artifact.bytedance.com/repository/AwemeOpenSDK' }
+ maven {
+ url 'http://www.idescout.com/maven/repo/'
+ }
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.3.3'
-
- // NOTE: Do not place your application dependencies here; they belong
- // in the individual module build.gradle files
+ classpath 'com.android.tools.build:gradle:4.1.3'
}
}
allprojects {
repositories {
- jcenter()
+ google()
+ mavenCentral()
+ maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
+ maven { url 'https://artifact.bytedance.com/repository/AwemeOpenSDK' }
}
+
+// tasks.withType(JavaCompile) {
+// sourceCompatibility = 1.8
+// targetCompatibility = 1.8
+// }
}
task clean(type: Delete) {
diff --git a/gradle.properties b/gradle.properties
index aac7c9b..4025efa 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -15,3 +15,4 @@ org.gradle.jvmargs=-Xmx1536m
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
+android.injected.testOnly=false
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 4916797..227b9e4 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Mon Jan 22 15:50:56 CST 2018
+#Thu Aug 04 16:40:02 CST 2022
distributionBase=GRADLE_USER_HOME
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip
distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
+zipStoreBase=GRADLE_USER_HOME
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000..aec9973
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/share/main/libs/umeng-share-core-7.3.7.jar b/share/main/libs/umeng-share-core-7.3.7.jar
new file mode 100644
index 0000000..4f6f5e8
Binary files /dev/null and b/share/main/libs/umeng-share-core-7.3.7.jar differ
diff --git "a/share/platforms/QQ\345\256\214\346\225\264\347\211\210/libs/open_sdk_3.5.16.4_r8c01346_lite.jar" "b/share/platforms/QQ\345\256\214\346\225\264\347\211\210/libs/open_sdk_3.5.16.4_r8c01346_lite.jar"
new file mode 100644
index 0000000..0cde6d6
Binary files /dev/null and "b/share/platforms/QQ\345\256\214\346\225\264\347\211\210/libs/open_sdk_3.5.16.4_r8c01346_lite.jar" differ
diff --git "a/share/platforms/QQ\345\256\214\346\225\264\347\211\210/libs/umeng-share-QQ-full-7.3.7.jar" "b/share/platforms/QQ\345\256\214\346\225\264\347\211\210/libs/umeng-share-QQ-full-7.3.7.jar"
new file mode 100644
index 0000000..e22e46d
Binary files /dev/null and "b/share/platforms/QQ\345\256\214\346\225\264\347\211\210/libs/umeng-share-QQ-full-7.3.7.jar" differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_qq.png "b/share/platforms/QQ\345\256\214\346\225\264\347\211\210/res/drawable/umeng_socialize_qq.png"
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_qq.png
rename to "share/platforms/QQ\345\256\214\346\225\264\347\211\210/res/drawable/umeng_socialize_qq.png"
diff --git a/UMLibrary/res/drawable/umeng_socialize_qzone.png "b/share/platforms/QQ\345\256\214\346\225\264\347\211\210/res/drawable/umeng_socialize_qzone.png"
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_qzone.png
rename to "share/platforms/QQ\345\256\214\346\225\264\347\211\210/res/drawable/umeng_socialize_qzone.png"
diff --git a/UMLibrary/libs/libapshare20161108.jar b/share/platforms/alipay/libs/libapshare20161108.jar
old mode 100644
new mode 100755
similarity index 100%
rename from UMLibrary/libs/libapshare20161108.jar
rename to share/platforms/alipay/libs/libapshare20161108.jar
diff --git a/share/platforms/alipay/libs/umeng-share-alipay-7.3.7.jar b/share/platforms/alipay/libs/umeng-share-alipay-7.3.7.jar
new file mode 100644
index 0000000..3ce4002
Binary files /dev/null and b/share/platforms/alipay/libs/umeng-share-alipay-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_alipay.png b/share/platforms/alipay/res/drawable/umeng_socialize_alipay.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_alipay.png
rename to share/platforms/alipay/res/drawable/umeng_socialize_alipay.png
diff --git a/share/platforms/alipay/src/apshare/ShareEntryActivity.java b/share/platforms/alipay/src/apshare/ShareEntryActivity.java
new file mode 100644
index 0000000..5d016c5
--- /dev/null
+++ b/share/platforms/alipay/src/apshare/ShareEntryActivity.java
@@ -0,0 +1,6 @@
+package com.umeng.soexample.apshare;
+
+import com.umeng.socialize.media.ShareCallbackActivity;
+
+public class ShareEntryActivity extends ShareCallbackActivity {
+}
\ No newline at end of file
diff --git a/share/platforms/bytedance/libs/umeng-share-bytedance-7.3.7.jar b/share/platforms/bytedance/libs/umeng-share-bytedance-7.3.7.jar
new file mode 100644
index 0000000..a4d0336
Binary files /dev/null and b/share/platforms/bytedance/libs/umeng-share-bytedance-7.3.7.jar differ
diff --git a/share/platforms/bytedance/res/drawable/umeng_socialize_bytedance.png b/share/platforms/bytedance/res/drawable/umeng_socialize_bytedance.png
new file mode 100644
index 0000000..80918b8
Binary files /dev/null and b/share/platforms/bytedance/res/drawable/umeng_socialize_bytedance.png differ
diff --git a/share/platforms/bytedance/res/drawable/umeng_socialize_bytedance_friends.png b/share/platforms/bytedance/res/drawable/umeng_socialize_bytedance_friends.png
new file mode 100644
index 0000000..80918b8
Binary files /dev/null and b/share/platforms/bytedance/res/drawable/umeng_socialize_bytedance_friends.png differ
diff --git a/share/platforms/bytedance/res/drawable/umeng_socialize_bytedance_publish.png b/share/platforms/bytedance/res/drawable/umeng_socialize_bytedance_publish.png
new file mode 100644
index 0000000..80918b8
Binary files /dev/null and b/share/platforms/bytedance/res/drawable/umeng_socialize_bytedance_publish.png differ
diff --git a/share/platforms/bytedance/src/douyinapi/DouYinEntryActivity.java b/share/platforms/bytedance/src/douyinapi/DouYinEntryActivity.java
new file mode 100644
index 0000000..c6e7950
--- /dev/null
+++ b/share/platforms/bytedance/src/douyinapi/DouYinEntryActivity.java
@@ -0,0 +1,6 @@
+package com.umeng.soexample.douyinapi;
+
+import com.umeng.socialize.douyin.DYCallbackActivity;
+
+public class DouYinEntryActivity extends DYCallbackActivity {
+}
\ No newline at end of file
diff --git a/share/platforms/dingding/libs/umeng-share-Ding-7.3.7.jar b/share/platforms/dingding/libs/umeng-share-Ding-7.3.7.jar
new file mode 100644
index 0000000..bba4b11
Binary files /dev/null and b/share/platforms/dingding/libs/umeng-share-Ding-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_ding.png b/share/platforms/dingding/res/drawable/umeng_socialize_ding.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_ding.png
rename to share/platforms/dingding/res/drawable/umeng_socialize_ding.png
diff --git a/share/platforms/dingding/src/ddshare/DDShareActivity.java b/share/platforms/dingding/src/ddshare/DDShareActivity.java
new file mode 100644
index 0000000..b02c950
--- /dev/null
+++ b/share/platforms/dingding/src/ddshare/DDShareActivity.java
@@ -0,0 +1,6 @@
+package com.umeng.soexample.ddshare;
+
+import com.umeng.socialize.media.DingCallBack;
+
+public class DDShareActivity extends DingCallBack {
+}
\ No newline at end of file
diff --git a/share/platforms/douban/libs/umeng-share-douban-7.3.7.jar b/share/platforms/douban/libs/umeng-share-douban-7.3.7.jar
new file mode 100644
index 0000000..2c36ea1
Binary files /dev/null and b/share/platforms/douban/libs/umeng-share-douban-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_douban.png b/share/platforms/douban/res/drawable/umeng_socialize_douban.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_douban.png
rename to share/platforms/douban/res/drawable/umeng_socialize_douban.png
diff --git a/UMLibrary/libs/json_simple-1.1.jar b/share/platforms/dropbox/libs/json_simple-1.1.jar
similarity index 100%
rename from UMLibrary/libs/json_simple-1.1.jar
rename to share/platforms/dropbox/libs/json_simple-1.1.jar
diff --git a/share/platforms/dropbox/libs/umeng-share-dropbox-7.3.7.jar b/share/platforms/dropbox/libs/umeng-share-dropbox-7.3.7.jar
new file mode 100644
index 0000000..8aaacab
Binary files /dev/null and b/share/platforms/dropbox/libs/umeng-share-dropbox-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_dropbox.png b/share/platforms/dropbox/res/drawable/umeng_socialize_dropbox.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_dropbox.png
rename to share/platforms/dropbox/res/drawable/umeng_socialize_dropbox.png
diff --git a/share/platforms/email/libs/umeng-share-email-7.3.7.jar b/share/platforms/email/libs/umeng-share-email-7.3.7.jar
new file mode 100644
index 0000000..a490fa4
Binary files /dev/null and b/share/platforms/email/libs/umeng-share-email-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_gmail.png b/share/platforms/email/res/drawable/umeng_socialize_gmail.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_gmail.png
rename to share/platforms/email/res/drawable/umeng_socialize_gmail.png
diff --git a/share/platforms/evernote/libs/umeng-share-evernote-7.3.7.jar b/share/platforms/evernote/libs/umeng-share-evernote-7.3.7.jar
new file mode 100644
index 0000000..02bb414
Binary files /dev/null and b/share/platforms/evernote/libs/umeng-share-evernote-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_evernote.png b/share/platforms/evernote/res/drawable/umeng_socialize_evernote.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_evernote.png
rename to share/platforms/evernote/res/drawable/umeng_socialize_evernote.png
diff --git a/share/platforms/facebook/libs/umeng-share-facebook-7.3.7.jar b/share/platforms/facebook/libs/umeng-share-facebook-7.3.7.jar
new file mode 100644
index 0000000..e4dc83c
Binary files /dev/null and b/share/platforms/facebook/libs/umeng-share-facebook-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/com_facebook_close.png b/share/platforms/facebook/res/drawable/com_facebook_close.png
old mode 100644
new mode 100755
similarity index 100%
rename from UMLibrary/res/drawable/com_facebook_close.png
rename to share/platforms/facebook/res/drawable/com_facebook_close.png
diff --git a/UMLibrary/res/drawable/umeng_socialize_facebook.png b/share/platforms/facebook/res/drawable/umeng_socialize_facebook.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_facebook.png
rename to share/platforms/facebook/res/drawable/umeng_socialize_facebook.png
diff --git a/UMLibrary/res/drawable/umeng_socialize_fbmessage.png b/share/platforms/facebook/res/drawable/umeng_socialize_fbmessage.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_fbmessage.png
rename to share/platforms/facebook/res/drawable/umeng_socialize_fbmessage.png
diff --git a/UMLibrary/res/layout/com_facebook_activity_layout.xml b/share/platforms/facebook/res/layout/com_facebook_activity_layout.xml
similarity index 100%
rename from UMLibrary/res/layout/com_facebook_activity_layout.xml
rename to share/platforms/facebook/res/layout/com_facebook_activity_layout.xml
diff --git a/UMLibrary/res/layout/com_facebook_login_fragment.xml b/share/platforms/facebook/res/layout/com_facebook_login_fragment.xml
similarity index 100%
rename from UMLibrary/res/layout/com_facebook_login_fragment.xml
rename to share/platforms/facebook/res/layout/com_facebook_login_fragment.xml
diff --git a/UMLibrary/res/values/facebook_strings.xml b/share/platforms/facebook/res/values/facebook_strings.xml
similarity index 100%
rename from UMLibrary/res/values/facebook_strings.xml
rename to share/platforms/facebook/res/values/facebook_strings.xml
diff --git a/UMLibrary/res/values/messenger_button_strings.xml b/share/platforms/facebook/res/values/messenger_button_strings.xml
similarity index 100%
rename from UMLibrary/res/values/messenger_button_strings.xml
rename to share/platforms/facebook/res/values/messenger_button_strings.xml
diff --git a/UMLibrary/res/values/umeng_socialize_facebook_strings.xml b/share/platforms/facebook/res/values/umeng_socialize_facebook_strings.xml
similarity index 100%
rename from UMLibrary/res/values/umeng_socialize_facebook_strings.xml
rename to share/platforms/facebook/res/values/umeng_socialize_facebook_strings.xml
diff --git a/share/platforms/flickr/libs/umeng-share-flickr-7.3.7.jar b/share/platforms/flickr/libs/umeng-share-flickr-7.3.7.jar
new file mode 100644
index 0000000..9d1c734
Binary files /dev/null and b/share/platforms/flickr/libs/umeng-share-flickr-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_flickr.png b/share/platforms/flickr/res/drawable/umeng_socialize_flickr.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_flickr.png
rename to share/platforms/flickr/res/drawable/umeng_socialize_flickr.png
diff --git a/share/platforms/foursquare/libs/umeng-share-foursquare-7.3.7.jar b/share/platforms/foursquare/libs/umeng-share-foursquare-7.3.7.jar
new file mode 100644
index 0000000..bdea13b
Binary files /dev/null and b/share/platforms/foursquare/libs/umeng-share-foursquare-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_foursquare.png b/share/platforms/foursquare/res/drawable/umeng_socialize_foursquare.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_foursquare.png
rename to share/platforms/foursquare/res/drawable/umeng_socialize_foursquare.png
diff --git a/UMLibrary/res/values/umeng_socialize_foursquare_strings.xml b/share/platforms/foursquare/res/values/umeng_socialize_foursquare_strings.xml
similarity index 100%
rename from UMLibrary/res/values/umeng_socialize_foursquare_strings.xml
rename to share/platforms/foursquare/res/values/umeng_socialize_foursquare_strings.xml
diff --git a/share/platforms/honor/libs/Honor-openSDK-6.0.3.004.aar b/share/platforms/honor/libs/Honor-openSDK-6.0.3.004.aar
new file mode 100644
index 0000000..8f86d27
Binary files /dev/null and b/share/platforms/honor/libs/Honor-openSDK-6.0.3.004.aar differ
diff --git a/share/platforms/honor/libs/umeng-share-honor-7.3.7.jar b/share/platforms/honor/libs/umeng-share-honor-7.3.7.jar
new file mode 100644
index 0000000..7482bb7
Binary files /dev/null and b/share/platforms/honor/libs/umeng-share-honor-7.3.7.jar differ
diff --git a/share/platforms/honor/res/drawable/umeng_socialize_honor.png b/share/platforms/honor/res/drawable/umeng_socialize_honor.png
new file mode 100644
index 0000000..238fdcb
Binary files /dev/null and b/share/platforms/honor/res/drawable/umeng_socialize_honor.png differ
diff --git a/share/platforms/instagram/libs/umeng-share-instagram-7.3.7.jar b/share/platforms/instagram/libs/umeng-share-instagram-7.3.7.jar
new file mode 100644
index 0000000..6f4f104
Binary files /dev/null and b/share/platforms/instagram/libs/umeng-share-instagram-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_instagram.png b/share/platforms/instagram/res/drawable/umeng_socialize_instagram.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_instagram.png
rename to share/platforms/instagram/res/drawable/umeng_socialize_instagram.png
diff --git a/share/platforms/kakao/libs/umeng-share-kakao-7.3.7.jar b/share/platforms/kakao/libs/umeng-share-kakao-7.3.7.jar
new file mode 100644
index 0000000..bc9c1f0
Binary files /dev/null and b/share/platforms/kakao/libs/umeng-share-kakao-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_kakao.png b/share/platforms/kakao/res/drawable/umeng_socialize_kakao.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_kakao.png
rename to share/platforms/kakao/res/drawable/umeng_socialize_kakao.png
diff --git a/UMLibrary/res/layout/umeng_socialize_activity_kakao_webview.xml b/share/platforms/kakao/res/layout/umeng_socialize_activity_kakao_webview.xml
similarity index 100%
rename from UMLibrary/res/layout/umeng_socialize_activity_kakao_webview.xml
rename to share/platforms/kakao/res/layout/umeng_socialize_activity_kakao_webview.xml
diff --git a/UMLibrary/res/values/umeng_socialize_kakao_strings.xml b/share/platforms/kakao/res/values/umeng_socialize_kakao_strings.xml
similarity index 100%
rename from UMLibrary/res/values/umeng_socialize_kakao_strings.xml
rename to share/platforms/kakao/res/values/umeng_socialize_kakao_strings.xml
diff --git a/share/platforms/line/libs/umeng-share-line-7.3.7.jar b/share/platforms/line/libs/umeng-share-line-7.3.7.jar
new file mode 100644
index 0000000..094531a
Binary files /dev/null and b/share/platforms/line/libs/umeng-share-line-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_line.png b/share/platforms/line/res/drawable/umeng_socialize_line.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_line.png
rename to share/platforms/line/res/drawable/umeng_socialize_line.png
diff --git a/share/platforms/linkedin/libs/umeng-share-linkedin-7.3.7.jar b/share/platforms/linkedin/libs/umeng-share-linkedin-7.3.7.jar
new file mode 100644
index 0000000..d977706
Binary files /dev/null and b/share/platforms/linkedin/libs/umeng-share-linkedin-7.3.7.jar differ
diff --git a/UMLibrary/libs/volley.jar b/share/platforms/linkedin/libs/volley.jar
similarity index 100%
rename from UMLibrary/libs/volley.jar
rename to share/platforms/linkedin/libs/volley.jar
diff --git a/UMLibrary/res/drawable/umeng_socialize_linkedin.png b/share/platforms/linkedin/res/drawable/umeng_socialize_linkedin.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_linkedin.png
rename to share/platforms/linkedin/res/drawable/umeng_socialize_linkedin.png
diff --git a/share/platforms/pinterest/libs/umeng-share-pinterest-7.3.7.jar b/share/platforms/pinterest/libs/umeng-share-pinterest-7.3.7.jar
new file mode 100644
index 0000000..e14d06b
Binary files /dev/null and b/share/platforms/pinterest/libs/umeng-share-pinterest-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_pinterest.png b/share/platforms/pinterest/res/drawable/umeng_socialize_pinterest.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_pinterest.png
rename to share/platforms/pinterest/res/drawable/umeng_socialize_pinterest.png
diff --git a/share/platforms/pocket/libs/umeng-share-pocket-7.3.7.jar b/share/platforms/pocket/libs/umeng-share-pocket-7.3.7.jar
new file mode 100644
index 0000000..8e99079
Binary files /dev/null and b/share/platforms/pocket/libs/umeng-share-pocket-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_pocket.png b/share/platforms/pocket/res/drawable/umeng_socialize_pocket.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_pocket.png
rename to share/platforms/pocket/res/drawable/umeng_socialize_pocket.png
diff --git a/share/platforms/sms/libs/umeng-share-sms-7.3.7.jar b/share/platforms/sms/libs/umeng-share-sms-7.3.7.jar
new file mode 100644
index 0000000..cd1db13
Binary files /dev/null and b/share/platforms/sms/libs/umeng-share-sms-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_sms.png b/share/platforms/sms/res/drawable/umeng_socialize_sms.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_sms.png
rename to share/platforms/sms/res/drawable/umeng_socialize_sms.png
diff --git a/share/platforms/tumblr/libs/umeng-share-tumblr-7.3.7.jar b/share/platforms/tumblr/libs/umeng-share-tumblr-7.3.7.jar
new file mode 100644
index 0000000..8cd0262
Binary files /dev/null and b/share/platforms/tumblr/libs/umeng-share-tumblr-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_tumblr.png b/share/platforms/tumblr/res/drawable/umeng_socialize_tumblr.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_tumblr.png
rename to share/platforms/tumblr/res/drawable/umeng_socialize_tumblr.png
diff --git a/share/platforms/twitter/libs/umeng-share-twitter-7.3.7.jar b/share/platforms/twitter/libs/umeng-share-twitter-7.3.7.jar
new file mode 100644
index 0000000..ecc8023
Binary files /dev/null and b/share/platforms/twitter/libs/umeng-share-twitter-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_twitter.png b/share/platforms/twitter/res/drawable/umeng_socialize_twitter.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_twitter.png
rename to share/platforms/twitter/res/drawable/umeng_socialize_twitter.png
diff --git a/share/platforms/twitter/src/twitterapi/TwitterShareReceiver.java b/share/platforms/twitter/src/twitterapi/TwitterShareReceiver.java
new file mode 100644
index 0000000..8c1681a
--- /dev/null
+++ b/share/platforms/twitter/src/twitterapi/TwitterShareReceiver.java
@@ -0,0 +1,6 @@
+package com.umeng.soexample.twitterapi;
+
+import com.umeng.socialize.handler.UMTwitterReceiver;
+
+public class TwitterShareReceiver extends UMTwitterReceiver {
+}
\ No newline at end of file
diff --git a/share/platforms/vkontakte/libs/umeng-share-vkontakte-7.3.7.jar b/share/platforms/vkontakte/libs/umeng-share-vkontakte-7.3.7.jar
new file mode 100644
index 0000000..11e8bef
Binary files /dev/null and b/share/platforms/vkontakte/libs/umeng-share-vkontakte-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/ic_ab_app.png b/share/platforms/vkontakte/res/drawable/ic_ab_app.png
similarity index 100%
rename from UMLibrary/res/drawable/ic_ab_app.png
rename to share/platforms/vkontakte/res/drawable/ic_ab_app.png
diff --git a/UMLibrary/res/drawable/ic_ab_done.png b/share/platforms/vkontakte/res/drawable/ic_ab_done.png
similarity index 100%
rename from UMLibrary/res/drawable/ic_ab_done.png
rename to share/platforms/vkontakte/res/drawable/ic_ab_done.png
diff --git a/UMLibrary/res/drawable/vk_clear_shape.xml b/share/platforms/vkontakte/res/drawable/vk_clear_shape.xml
similarity index 100%
rename from UMLibrary/res/drawable/vk_clear_shape.xml
rename to share/platforms/vkontakte/res/drawable/vk_clear_shape.xml
diff --git a/UMLibrary/res/drawable/vk_gray_transparent_shape.xml b/share/platforms/vkontakte/res/drawable/vk_gray_transparent_shape.xml
similarity index 100%
rename from UMLibrary/res/drawable/vk_gray_transparent_shape.xml
rename to share/platforms/vkontakte/res/drawable/vk_gray_transparent_shape.xml
diff --git a/UMLibrary/res/drawable/vk_icon.png b/share/platforms/vkontakte/res/drawable/vk_icon.png
similarity index 100%
rename from UMLibrary/res/drawable/vk_icon.png
rename to share/platforms/vkontakte/res/drawable/vk_icon.png
diff --git a/UMLibrary/res/drawable/vk_share_send_button_background.xml b/share/platforms/vkontakte/res/drawable/vk_share_send_button_background.xml
similarity index 100%
rename from UMLibrary/res/drawable/vk_share_send_button_background.xml
rename to share/platforms/vkontakte/res/drawable/vk_share_send_button_background.xml
diff --git a/UMLibrary/res/layout/vk_captcha_dialog.xml b/share/platforms/vkontakte/res/layout/vk_captcha_dialog.xml
similarity index 100%
rename from UMLibrary/res/layout/vk_captcha_dialog.xml
rename to share/platforms/vkontakte/res/layout/vk_captcha_dialog.xml
diff --git a/UMLibrary/res/layout/vk_open_auth_dialog.xml b/share/platforms/vkontakte/res/layout/vk_open_auth_dialog.xml
similarity index 100%
rename from UMLibrary/res/layout/vk_open_auth_dialog.xml
rename to share/platforms/vkontakte/res/layout/vk_open_auth_dialog.xml
diff --git a/UMLibrary/res/layout/vk_share_dialog.xml b/share/platforms/vkontakte/res/layout/vk_share_dialog.xml
similarity index 100%
rename from UMLibrary/res/layout/vk_share_dialog.xml
rename to share/platforms/vkontakte/res/layout/vk_share_dialog.xml
diff --git a/UMLibrary/res/values/vk_color.xml b/share/platforms/vkontakte/res/values/vk_color.xml
similarity index 100%
rename from UMLibrary/res/values/vk_color.xml
rename to share/platforms/vkontakte/res/values/vk_color.xml
diff --git a/UMLibrary/res/values/vk_dimen.xml b/share/platforms/vkontakte/res/values/vk_dimen.xml
similarity index 100%
rename from UMLibrary/res/values/vk_dimen.xml
rename to share/platforms/vkontakte/res/values/vk_dimen.xml
diff --git a/UMLibrary/res/values/vk_strings.xml b/share/platforms/vkontakte/res/values/vk_strings.xml
similarity index 100%
rename from UMLibrary/res/values/vk_strings.xml
rename to share/platforms/vkontakte/res/values/vk_strings.xml
diff --git a/UMLibrary/res/values/vk_styles.xml b/share/platforms/vkontakte/res/values/vk_styles.xml
similarity index 99%
rename from UMLibrary/res/values/vk_styles.xml
rename to share/platforms/vkontakte/res/values/vk_styles.xml
index 70af7c0..c905bbf 100644
--- a/UMLibrary/res/values/vk_styles.xml
+++ b/share/platforms/vkontakte/res/values/vk_styles.xml
@@ -13,4 +13,7 @@
- @android:color/transparent
- @null
+
+
+
\ No newline at end of file
diff --git a/share/platforms/whatsapp/libs/umeng-share-whatsapp-7.3.7.jar b/share/platforms/whatsapp/libs/umeng-share-whatsapp-7.3.7.jar
new file mode 100644
index 0000000..98565e9
Binary files /dev/null and b/share/platforms/whatsapp/libs/umeng-share-whatsapp-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_whatsapp.png b/share/platforms/whatsapp/res/drawable/umeng_socialize_whatsapp.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_whatsapp.png
rename to share/platforms/whatsapp/res/drawable/umeng_socialize_whatsapp.png
diff --git a/UMLibrary/libs/SocialSDK_yixin_1.jar b/share/platforms/yixin/libs/SocialSDK_yixin_1.jar
similarity index 100%
rename from UMLibrary/libs/SocialSDK_yixin_1.jar
rename to share/platforms/yixin/libs/SocialSDK_yixin_1.jar
diff --git a/share/platforms/yixin/libs/umeng-share-yixin-7.3.7.jar b/share/platforms/yixin/libs/umeng-share-yixin-7.3.7.jar
new file mode 100644
index 0000000..8751679
Binary files /dev/null and b/share/platforms/yixin/libs/umeng-share-yixin-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_yixin.png b/share/platforms/yixin/res/drawable/umeng_socialize_yixin.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_yixin.png
rename to share/platforms/yixin/res/drawable/umeng_socialize_yixin.png
diff --git a/UMLibrary/res/drawable/umeng_socialize_yixin_circle.png b/share/platforms/yixin/res/drawable/umeng_socialize_yixin_circle.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_yixin_circle.png
rename to share/platforms/yixin/res/drawable/umeng_socialize_yixin_circle.png
diff --git a/share/platforms/yixin/src/yxapi/YXEntryActivity.java b/share/platforms/yixin/src/yxapi/YXEntryActivity.java
new file mode 100644
index 0000000..51caabd
--- /dev/null
+++ b/share/platforms/yixin/src/yxapi/YXEntryActivity.java
@@ -0,0 +1,6 @@
+package com.umeng.soexample.yxapi;
+
+import com.umeng.socialize.activity.YXCallbackActivity;
+
+public class YXEntryActivity extends YXCallbackActivity {
+}
\ No newline at end of file
diff --git a/share/platforms/ynote/libs/umeng-share-ynote-7.3.7.jar b/share/platforms/ynote/libs/umeng-share-ynote-7.3.7.jar
new file mode 100644
index 0000000..a8cdc2c
Binary files /dev/null and b/share/platforms/ynote/libs/umeng-share-ynote-7.3.7.jar differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_ynote.png b/share/platforms/ynote/res/drawable/umeng_socialize_ynote.png
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_ynote.png
rename to share/platforms/ynote/res/drawable/umeng_socialize_ynote.png
diff --git "a/share/platforms/\344\274\201\344\270\232\345\276\256\344\277\241/libs/lib_wwapi-2.0.12.11.aar" "b/share/platforms/\344\274\201\344\270\232\345\276\256\344\277\241/libs/lib_wwapi-2.0.12.11.aar"
new file mode 100644
index 0000000..5f9a9cc
Binary files /dev/null and "b/share/platforms/\344\274\201\344\270\232\345\276\256\344\277\241/libs/lib_wwapi-2.0.12.11.aar" differ
diff --git "a/share/platforms/\344\274\201\344\270\232\345\276\256\344\277\241/libs/umeng-share-wxwork-7.3.7.jar" "b/share/platforms/\344\274\201\344\270\232\345\276\256\344\277\241/libs/umeng-share-wxwork-7.3.7.jar"
new file mode 100644
index 0000000..9f8fbac
Binary files /dev/null and "b/share/platforms/\344\274\201\344\270\232\345\276\256\344\277\241/libs/umeng-share-wxwork-7.3.7.jar" differ
diff --git "a/share/platforms/\344\274\201\344\270\232\345\276\256\344\277\241/res/drawable/umeng_socialize_wxwork.png" "b/share/platforms/\344\274\201\344\270\232\345\276\256\344\277\241/res/drawable/umeng_socialize_wxwork.png"
new file mode 100644
index 0000000..5485775
Binary files /dev/null and "b/share/platforms/\344\274\201\344\270\232\345\276\256\344\277\241/res/drawable/umeng_socialize_wxwork.png" differ
diff --git "a/share/platforms/\345\276\256\344\277\241\345\256\214\346\225\264\347\211\210/libs/umeng-share-wechat-full-7.3.7.jar" "b/share/platforms/\345\276\256\344\277\241\345\256\214\346\225\264\347\211\210/libs/umeng-share-wechat-full-7.3.7.jar"
new file mode 100644
index 0000000..7df15e0
Binary files /dev/null and "b/share/platforms/\345\276\256\344\277\241\345\256\214\346\225\264\347\211\210/libs/umeng-share-wechat-full-7.3.7.jar" differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_fav.png "b/share/platforms/\345\276\256\344\277\241\345\256\214\346\225\264\347\211\210/res/drawable/umeng_socialize_fav.png"
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_fav.png
rename to "share/platforms/\345\276\256\344\277\241\345\256\214\346\225\264\347\211\210/res/drawable/umeng_socialize_fav.png"
diff --git a/UMLibrary/res/drawable/umeng_socialize_wechat.png "b/share/platforms/\345\276\256\344\277\241\345\256\214\346\225\264\347\211\210/res/drawable/umeng_socialize_wechat.png"
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_wechat.png
rename to "share/platforms/\345\276\256\344\277\241\345\256\214\346\225\264\347\211\210/res/drawable/umeng_socialize_wechat.png"
diff --git a/UMLibrary/res/drawable/umeng_socialize_wxcircle.png "b/share/platforms/\345\276\256\344\277\241\345\256\214\346\225\264\347\211\210/res/drawable/umeng_socialize_wxcircle.png"
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_wxcircle.png
rename to "share/platforms/\345\276\256\344\277\241\345\256\214\346\225\264\347\211\210/res/drawable/umeng_socialize_wxcircle.png"
diff --git "a/share/platforms/\345\276\256\344\277\241\345\256\214\346\225\264\347\211\210/src/wxapi/WXEntryActivity.java" "b/share/platforms/\345\276\256\344\277\241\345\256\214\346\225\264\347\211\210/src/wxapi/WXEntryActivity.java"
new file mode 100644
index 0000000..95ac946
--- /dev/null
+++ "b/share/platforms/\345\276\256\344\277\241\345\256\214\346\225\264\347\211\210/src/wxapi/WXEntryActivity.java"
@@ -0,0 +1,6 @@
+package com.umeng.soexample.wxapi;
+
+import com.umeng.socialize.weixin.view.WXCallbackActivity;
+
+public class WXEntryActivity extends WXCallbackActivity {
+}
\ No newline at end of file
diff --git "a/share/platforms/\346\226\260\346\265\252\345\256\214\346\225\264\347\211\210/libs/umeng-share-sina-full-7.3.7.jar" "b/share/platforms/\346\226\260\346\265\252\345\256\214\346\225\264\347\211\210/libs/umeng-share-sina-full-7.3.7.jar"
new file mode 100644
index 0000000..a18190b
Binary files /dev/null and "b/share/platforms/\346\226\260\346\265\252\345\256\214\346\225\264\347\211\210/libs/umeng-share-sina-full-7.3.7.jar" differ
diff --git a/UMLibrary/res/drawable/umeng_socialize_sina.png "b/share/platforms/\346\226\260\346\265\252\345\256\214\346\225\264\347\211\210/res/drawable/umeng_socialize_sina.png"
similarity index 100%
rename from UMLibrary/res/drawable/umeng_socialize_sina.png
rename to "share/platforms/\346\226\260\346\265\252\345\256\214\346\225\264\347\211\210/res/drawable/umeng_socialize_sina.png"
diff --git a/share/shareback/libs/umeng-link-2.0.0.aar b/share/shareback/libs/umeng-link-2.0.0.aar
new file mode 100644
index 0000000..2c58d8f
Binary files /dev/null and b/share/shareback/libs/umeng-link-2.0.0.aar differ