|
@@ -41,6 +41,7 @@ import androidx.annotation.Nullable;
|
|
import androidx.constraintlayout.widget.ConstraintLayout;
|
|
import androidx.constraintlayout.widget.ConstraintLayout;
|
|
|
|
|
|
import com.alibaba.android.arouter.facade.annotation.Route;
|
|
import com.alibaba.android.arouter.facade.annotation.Route;
|
|
|
|
+import com.alibaba.android.arouter.launcher.ARouter;
|
|
import com.alipay.sdk.app.PayTask;
|
|
import com.alipay.sdk.app.PayTask;
|
|
import com.cooleshow.base.BuildConfig;
|
|
import com.cooleshow.base.BuildConfig;
|
|
import com.cooleshow.base.bean.WxPayResult;
|
|
import com.cooleshow.base.bean.WxPayResult;
|
|
@@ -50,10 +51,12 @@ import com.cooleshow.base.data.net.RetrofitClientNoToken;
|
|
import com.cooleshow.base.router.RouterPath;
|
|
import com.cooleshow.base.router.RouterPath;
|
|
import com.cooleshow.base.ui.activity.BaseActivity;
|
|
import com.cooleshow.base.ui.activity.BaseActivity;
|
|
import com.cooleshow.base.utils.AppUtils;
|
|
import com.cooleshow.base.utils.AppUtils;
|
|
|
|
+import com.cooleshow.base.utils.ClipboardUtils;
|
|
import com.cooleshow.base.utils.PermissionUtils;
|
|
import com.cooleshow.base.utils.PermissionUtils;
|
|
import com.cooleshow.base.utils.ToastUtil;
|
|
import com.cooleshow.base.utils.ToastUtil;
|
|
import com.cooleshow.base.utils.UriUtils;
|
|
import com.cooleshow.base.utils.UriUtils;
|
|
import com.cooleshow.base.utils.Utils;
|
|
import com.cooleshow.base.utils.Utils;
|
|
|
|
+import com.cooleshow.base.utils.WebParamsUtils;
|
|
import com.cooleshow.base.utils.helper.DialogHelper;
|
|
import com.cooleshow.base.utils.helper.DialogHelper;
|
|
import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
|
|
import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
|
|
import com.cooleshow.base.utils.helper.upload.UploadHelper;
|
|
import com.cooleshow.base.utils.helper.upload.UploadHelper;
|
|
@@ -122,6 +125,7 @@ import okhttp3.ResponseBody;
|
|
@Route(path = RouterPath.WebCenter.ACTIVITY_HORIZONTAL_SCREEN_HTML)
|
|
@Route(path = RouterPath.WebCenter.ACTIVITY_HORIZONTAL_SCREEN_HTML)
|
|
public class HtmlHorizontalScreenActivity extends BaseActivity<ActivityHtml1Binding> implements JsInterfaceUtils.onGetMethodsListener {
|
|
public class HtmlHorizontalScreenActivity extends BaseActivity<ActivityHtml1Binding> implements JsInterfaceUtils.onGetMethodsListener {
|
|
private static final int REQUEST_CODE_FILE_CHOOSER = 500;
|
|
private static final int REQUEST_CODE_FILE_CHOOSER = 500;
|
|
|
|
+ private static final int SHARE_CHAT_REQUEST_CODE = 501;
|
|
public static final String TAG = "HtmlActivity";
|
|
public static final String TAG = "HtmlActivity";
|
|
private IWXAPI api;
|
|
private IWXAPI api;
|
|
private static final int SDK_PAY_FLAG = 1;
|
|
private static final int SDK_PAY_FLAG = 1;
|
|
@@ -141,6 +145,7 @@ public class HtmlHorizontalScreenActivity extends BaseActivity<ActivityHtml1Bind
|
|
ProgressBar progressBar;
|
|
ProgressBar progressBar;
|
|
RelativeLayout rl_activity_html;
|
|
RelativeLayout rl_activity_html;
|
|
LinearLayout ll_activity_html;
|
|
LinearLayout ll_activity_html;
|
|
|
|
+ private String mImageBase64;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
|
@@ -426,32 +431,51 @@ public class HtmlHorizontalScreenActivity extends BaseActivity<ActivityHtml1Bind
|
|
JSONObject content = null;
|
|
JSONObject content = null;
|
|
try {
|
|
try {
|
|
content = jsonObject.getJSONObject("content");
|
|
content = jsonObject.getJSONObject("content");
|
|
|
|
+
|
|
String shareTitle = content.getString("title");
|
|
String shareTitle = content.getString("title");
|
|
String shareDesc = content.getString("desc");
|
|
String shareDesc = content.getString("desc");
|
|
|
|
+
|
|
if ("image".equals(content.optString("type"))) {
|
|
if ("image".equals(content.optString("type"))) {
|
|
- String imageBase64 = content.optString("image");
|
|
|
|
|
|
+ mImageBase64 = content.optString("image");
|
|
|
|
+ String shareUrl = WebParamsUtils.getShareUrl(content);
|
|
/*增加自定义按钮的分享面板*/
|
|
/*增加自定义按钮的分享面板*/
|
|
mShareAction = new ShareAction(HtmlHorizontalScreenActivity.this).setDisplayList(
|
|
mShareAction = new ShareAction(HtmlHorizontalScreenActivity.this).setDisplayList(
|
|
SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.SINA)
|
|
SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.SINA)
|
|
.setShareboardclickCallback(new ShareBoardlistener() {
|
|
.setShareboardclickCallback(new ShareBoardlistener() {
|
|
@Override
|
|
@Override
|
|
public void onclick(SnsPlatform snsPlatform, SHARE_MEDIA share_media) {
|
|
public void onclick(SnsPlatform snsPlatform, SHARE_MEDIA share_media) {
|
|
- if (!UMShareAPI.get(Utils.getApp()).isInstall(HtmlHorizontalScreenActivity.this, share_media)) {
|
|
|
|
- ToastUtil.getInstance().show(Utils.getApp(), "应用未安装,分享失败");
|
|
|
|
- return;
|
|
|
|
|
|
+ if (share_media == null) {
|
|
|
|
+ if (TextUtils.equals(snsPlatform.mKeyword, "chat")) {
|
|
|
|
+ //分享群聊
|
|
|
|
+ ARouter.getInstance().build(RouterPath.ChatCenter.CHAT_SELECT_CONTACT)
|
|
|
|
+ .navigation(HtmlHorizontalScreenActivity.this, SHARE_CHAT_REQUEST_CODE);
|
|
|
|
+ } else if (TextUtils.equals(snsPlatform.mKeyword, "copy")) {
|
|
|
|
+ if (!TextUtils.isEmpty(shareUrl)) {
|
|
|
|
+ ClipboardUtils.copyText(shareUrl);
|
|
|
|
+ ToastUtil.getInstance().showShort("复制成功");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ if (!UMShareAPI.get(getApplicationContext()).isInstall(HtmlHorizontalScreenActivity.this, share_media)) {
|
|
|
|
+ ToastUtil.getInstance().show(getApplicationContext(), "应用未安装,分享失败");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ UMImage image = new UMImage(HtmlHorizontalScreenActivity.this, MyFileUtils.base64ToBitmap(mImageBase64.split(",")[1]));//bitmap文件
|
|
|
|
+ image.setThumb(image);
|
|
|
|
+ image.compressStyle = UMImage.CompressStyle.SCALE;
|
|
|
|
+ new ShareAction(HtmlHorizontalScreenActivity.this).withMedia(image)
|
|
|
|
+ .setPlatform(share_media)
|
|
|
|
+ .setCallback(mShareListener)
|
|
|
|
+ .share();
|
|
}
|
|
}
|
|
- UMImage image = new UMImage(HtmlHorizontalScreenActivity.this, MyFileUtils.base64ToBitmap(imageBase64.split(",")[1]));//bitmap文件
|
|
|
|
- image.setThumb(image);
|
|
|
|
- image.compressStyle = UMImage.CompressStyle.SCALE;
|
|
|
|
- new ShareAction(HtmlHorizontalScreenActivity.this).withMedia(image)
|
|
|
|
- .setPlatform(share_media)
|
|
|
|
- .setCallback(mShareListener)
|
|
|
|
- .share();
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
+ mShareAction.addButton("群聊", "chat", "icon_share_chat_group", "icon_share_chat_group");
|
|
|
|
+ if (WebParamsUtils.isCopyLink(content)) {
|
|
|
|
+ mShareAction.addButton("复制链接", "copy", "icon_share_copy_link", "icon_share_copy_link");
|
|
|
|
+ }
|
|
mShareAction.open();
|
|
mShareAction.open();
|
|
- } else if ("video".equals(content.optString("type")) ){
|
|
|
|
|
|
+ } else if ("video".equals(content.optString("type"))) {
|
|
String videoUrl = content.optString("video");
|
|
String videoUrl = content.optString("video");
|
|
/*增加自定义按钮的分享面板*/
|
|
/*增加自定义按钮的分享面板*/
|
|
mShareAction = new ShareAction(this).setDisplayList(
|
|
mShareAction = new ShareAction(this).setDisplayList(
|
|
@@ -472,7 +496,7 @@ public class HtmlHorizontalScreenActivity extends BaseActivity<ActivityHtml1Bind
|
|
mShareAction.open();
|
|
mShareAction.open();
|
|
}
|
|
}
|
|
} catch (JSONException e) {
|
|
} catch (JSONException e) {
|
|
- e.printStackTrace();
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1065,6 +1089,13 @@ public class HtmlHorizontalScreenActivity extends BaseActivity<ActivityHtml1Bind
|
|
super.onActivityResult(requestCode, resultCode, data);
|
|
super.onActivityResult(requestCode, resultCode, data);
|
|
|
|
|
|
UMShareAPI.get(HtmlHorizontalScreenActivity.this).onActivityResult(requestCode, resultCode, data);
|
|
UMShareAPI.get(HtmlHorizontalScreenActivity.this).onActivityResult(requestCode, resultCode, data);
|
|
|
|
+ if (resultCode == RESULT_OK) {
|
|
|
|
+ if (requestCode == SHARE_CHAT_REQUEST_CODE) {
|
|
|
|
+ //选择群聊
|
|
|
|
+ ShareHelper.parseShareContactData(mImageBase64, data);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
if (requestCode == ADD_ACCOMPANIMENT_CODE) {
|
|
if (requestCode == ADD_ACCOMPANIMENT_CODE) {
|
|
try {
|
|
try {
|
|
JSONObject jsonObject = new JSONObject();
|
|
JSONObject jsonObject = new JSONObject();
|