Browse Source

17:10 换个样式怎么做

FANGLH 9 years ago
parent
commit
3a29d98172

+ 21 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/helper/AvatarHelper.java

@@ -5,6 +5,7 @@ import android.graphics.BitmapFactory;
 import android.os.Handler;
 import android.os.Looper;
 import android.text.TextUtils;
+import android.util.Base64;
 import android.util.Log;
 import android.widget.ImageView;
 
@@ -14,6 +15,7 @@ import com.nostra13.universalimageloader.core.imageaware.ImageAware;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 
+import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
@@ -275,6 +277,13 @@ public class AvatarHelper {
 
     //根据loginUserId,获取该用户头像的Bitmap对象
     //Caused by: Android.os.NetworkOnMainThreadException,查了下原因上在4.0之后在主线程里面执行Http请求都会报这个错,大概是怕Http请求时间太长造成程序假死的情况吧。
+
+    /**
+     * 图片的url 转 Bitmap对象
+     * @param userId
+     * @param isThumb
+     * @return
+     */
     public static Bitmap returnBitmap(String userId,boolean isThumb){
         final  String urlpath = getAvatarUrl(userId, isThumb);
         Bitmap mBitmap = null;
@@ -291,6 +300,18 @@ public class AvatarHelper {
         return mBitmap;
     }
 
+    /**
+     * 图片的 Bitmap对象转 url
+     * @param bitmap
+     * @return
+     */
+    public static String doBitmapTurnToStringurl(Bitmap bitmap){
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();// outputstream
+        bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
+        byte[] appicon = baos.toByteArray();// 转为byte数组
+        return Base64.encodeToString(appicon, Base64.DEFAULT);
+    }
+
     private void display(String url, ImageAware imageAware, boolean isThumb) {
         if (isThumb) {
             ImageLoader.getInstance().displayImage(url, imageAware, MyApplication.mAvatarRoundImageOptions);

+ 29 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/me/InfoCodeActivity.java

@@ -24,6 +24,9 @@ import com.google.zxing.WriterException;
 import com.google.zxing.common.BitMatrix;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
+import com.umeng.socialize.ShareAction;
+import com.umeng.socialize.bean.SHARE_MEDIA;
+import com.umeng.socialize.media.UMImage;
 import com.uuzuche.lib_zxing.activity.CaptureActivity;
 import com.xzjmyk.pm.activity.CaptureResultActivity;
 import com.xzjmyk.pm.activity.MyApplication;
@@ -31,7 +34,9 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.util.DeviceInfoUtil;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
+import com.xzjmyk.pm.activity.util.StringUtils;
 
 import java.io.UnsupportedEncodingException;
 
@@ -62,6 +67,8 @@ public class InfoCodeActivity extends BaseActivity implements View.OnClickListen
     private String loginUserId;
     private PopupWindow setWindow = null;//
     private static final int REQUEST_CODE = 17681;
+    private Bitmap code_bitmap;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -112,8 +119,9 @@ public class InfoCodeActivity extends BaseActivity implements View.OnClickListen
 
                     }
                     Log.i("mBitmap",mBitmap.toString());
-                    code_main.setImageBitmap(cretaeBitmap(new String(s.getBytes(),
-                            "ISO-8859-1")));
+                    code_bitmap = cretaeBitmap(new String(s.getBytes(),
+                            "ISO-8859-1"));
+                    code_main.setImageBitmap(code_bitmap);
                     AvatarHelper.getInstance().display(loginUserId, photo_im, true, false);
                 } catch (WriterException e) {
                     e.printStackTrace();
@@ -180,12 +188,31 @@ public class InfoCodeActivity extends BaseActivity implements View.OnClickListen
     public void onClick(View v) {
         switch (v.getId()){
             case R.id.share_2code:
+                String scan_result_url = AvatarHelper.doBitmapTurnToStringurl(code_bitmap);
+                Log.i("scan_result_url",scan_result_url+"");
+                if (StringUtils.isEmpty(scan_result_url)) return;
+                new ShareAction(activity).setDisplayList(
+                        SHARE_MEDIA.SINA,
+                        SHARE_MEDIA.QQ,
+                        SHARE_MEDIA.QZONE,
+                        SHARE_MEDIA.WEIXIN,
+                        SHARE_MEDIA.WEIXIN_CIRCLE,
+                        SHARE_MEDIA.WEIXIN_FAVORITE,
+                        SHARE_MEDIA.MORE)
+                        .withTitle("UU互联")
+                        .withText("名片二维码分享" + DeviceInfoUtil.getVersionName(mContext))
+                        .withMedia(new UMImage(activity, "http://img.my.csdn.net/uploads/201609/30/1475204542_1365.png"))
+//                        .withMedia(new UMImage(activity,scan_result_url))
+                        .withTargetUrl(scan_result_url)
+                        .setCallback(CommonUtil.umShareListener)
+                        .open();
                 closePopupWindow();
                 break;
             case R.id.change_style:
                 closePopupWindow();
                 break;
             case R.id.save_to_MBphone:
+                CommonUtil.saveImageToLocal(getApplicationContext(),code_bitmap);
                 closePopupWindow();
                 break;
             case R.id.scan_2dcode: