| 
					
				 | 
			
			
				@@ -0,0 +1,176 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.wsj.Imgdt3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import android.app.Activity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import android.content.Intent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import android.os.Bundle; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import android.os.Handler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import android.os.Message; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import android.widget.Toast; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.constants.ConstantsAPI; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.modelbase.BaseReq; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.modelbase.BaseResp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.modelbiz.SubscribeMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.modelbiz.WXOpenBusinessView; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.modelbiz.WXOpenBusinessWebview; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.modelmsg.SendAuth; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.modelmsg.ShowMessageFromWX; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.modelmsg.WXAppExtendObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.modelmsg.WXMediaMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.openapi.IWXAPI; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tencent.mm.opensdk.openapi.WXAPIFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.lang.ref.WeakReference; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class WXEntryActivity extends Activity implements IWXAPIEventHandler{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static String TAG = "MicroMsg.WXEntryActivity"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private IWXAPI api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private MyHandler handler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static String wxAPPID = "wxd9772f42f126413f"; //可以设置成全局变量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static class MyHandler extends Handler { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private final WeakReference<WXEntryActivity> wxEntryActivityWeakReference; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public MyHandler(WXEntryActivity wxEntryActivity){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            wxEntryActivityWeakReference = new WeakReference<WXEntryActivity>(wxEntryActivity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public void handleMessage(Message msg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int tag = msg.what; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void onCreate(Bundle savedInstanceState) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        super.onCreate(savedInstanceState); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        api = WXAPIFactory.createWXAPI(this, wxAPPID, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        handler = new MyHandler(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Intent intent = getIntent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            api.handleIntent(intent, this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    protected void onNewIntent(Intent intent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        super.onNewIntent(intent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setIntent(intent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        api.handleIntent(intent, this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void onReq(BaseReq req) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch (req.getType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                goToGetMsg(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                goToShowMsg((ShowMessageFromWX.Req) req); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        finish(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void onResp(BaseResp resp) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int result = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch (resp.errCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case BaseResp.ErrCode.ERR_OK: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case BaseResp.ErrCode.ERR_USER_CANCEL: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case BaseResp.ErrCode.ERR_AUTH_DENIED: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case BaseResp.ErrCode.ERR_UNSUPPORT: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Toast.makeText(this, getString(result) + ", type=" + resp.getType(), Toast.LENGTH_SHORT).show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (resp.getType() == ConstantsAPI.COMMAND_SUBSCRIBE_MESSAGE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SubscribeMessage.Resp subscribeMsgResp = (SubscribeMessage.Resp) resp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String text = String.format("openid=%s\ntemplate_id=%s\nscene=%d\naction=%s\nreserved=%s", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    subscribeMsgResp.openId, subscribeMsgResp.templateID, subscribeMsgResp.scene, subscribeMsgResp.action, subscribeMsgResp.reserved); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Toast.makeText(this, text, Toast.LENGTH_LONG).show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            WXLaunchMiniProgram.Resp launchMiniProgramResp = (WXLaunchMiniProgram.Resp) resp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String text = String.format("openid=%s\nextMsg=%s\nerrStr=%s", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    launchMiniProgramResp.openId, launchMiniProgramResp.extMsg,launchMiniProgramResp.errStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Toast.makeText(this, text, Toast.LENGTH_LONG).show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (resp.getType() == ConstantsAPI.COMMAND_OPEN_BUSINESS_VIEW) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            WXOpenBusinessView.Resp launchMiniProgramResp = (WXOpenBusinessView.Resp) resp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String text = String.format("openid=%s\nextMsg=%s\nerrStr=%s\nbusinessType=%s", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    launchMiniProgramResp.openId, launchMiniProgramResp.extMsg,launchMiniProgramResp.errStr,launchMiniProgramResp.businessType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Toast.makeText(this, text, Toast.LENGTH_LONG).show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (resp.getType() == ConstantsAPI.COMMAND_OPEN_BUSINESS_WEBVIEW) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            WXOpenBusinessWebview.Resp response = (WXOpenBusinessWebview.Resp) resp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String text = String.format("businessType=%d\nresultInfo=%s\nret=%d",response.businessType,response.resultInfo,response.errCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Toast.makeText(this, text, Toast.LENGTH_LONG).show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (resp.getType() == ConstantsAPI.COMMAND_SENDAUTH) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SendAuth.Resp authResp = (SendAuth.Resp)resp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            final String code = authResp.code; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        finish(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void goToGetMsg() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Intent intent = new Intent(this, GetFromWXActivity.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //  intent.putExtras(getIntent()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //  startActivity(intent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        finish(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void goToShowMsg(ShowMessageFromWX.Req showReq) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        WXMediaMessage wxMsg = showReq.message; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        WXAppExtendObject obj = (WXAppExtendObject) wxMsg.mediaObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        StringBuffer msg = new StringBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msg.append("description: "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msg.append(wxMsg.description); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msg.append("\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msg.append("extInfo: "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msg.append(obj.extInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msg.append("\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msg.append("filePath: "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msg.append(obj.filePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //       Intent intent = new Intent(this, ShowFromWXActivity.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //      intent.putExtra(Constants.ShowMsgActivity.STitle, wxMsg.title); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //      intent.putExtra(Constants.ShowMsgActivity.SMessage, msg.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //       intent.putExtra(Constants.ShowMsgActivity.BAThumbData, wxMsg.thumbData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //       startActivity(intent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        finish(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |