91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android 銀聯支付接入報nullexception異常

發布時間:2020-07-11 22:46:08 來源:網絡 閱讀:572 作者:wyh234846285 欄目:移動開發
package com.example.ex_example;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Handler;
import android.os.Message;
import android.util.Log;

import com.unionpay.UPPayAssistEx;
import com.unionpay.uppay.PayActivity;

public class UnionPay implements Runnable{

	// public static final int PLUGIN_VALID = 0;
	// public static final int PLUGIN_NOT_INSTALLED = -1;
	// public static final int PLUGIN_NEED_UPGRADE = 2;

	/*****************************************************************
	 * mMode參數解釋: "00" - 啟動銀聯正式環境 "01" - 連接銀聯測試環境 測試用 卡號:6226440123456785
	 * 密碼:111101
	 *****************************************************************/
	private final static String mMode = "01";
	private static final String TN_URL_01 = "http://202.101.25.178:8080/sim/gettn";
	private static ProgressDialog mLoadingDialog = null;
	private static Activity activity;
	private static UnionPay unionPay = new UnionPay();
	
	
	public static void unionpay(Activity activity) {
		UnionPay.activity = activity;
		mLoadingDialog = ProgressDialog.show(activity, // context
				"", // title
				"正在努力的獲取tn中,請稍候...", // message
				true); // 進度是否是不確定的,這只和創建進度條有關

		/*************************************************
		 * 步驟1:從網絡開始,獲取交易流水號即TN
		 ************************************************/
		new Thread(unionPay).start();

		// //支付金額 訂單金額
		// String orderAmount = "1533";
		// //千引商戶號
		// String merchantNO = "805920100000069";
		// //商戶訂單號
		// String orderNO = "467934311";
		// //通知Url
		// String backUrl = "http://www.baidu.com";
		// //簽名密鑰
		// String key = "86Aab696Fed90bc691a7AfE0b6a269Ac";
		// //簽名字段
		// String signcont =
		// merchantNO+"&"+orderNO+"&"+orderAmount+"&"+backUrl+"&"+key;
		// // Log.e("", ""+signcont);
		//
		// String sign = MD5.digest(signcont);
		// // String sign = MD5Utils.generate(signcont);
		// Log.e("", "sign =  "+sign.length());
		// String url = "http://mpay.sinoqy.com:6283/qyapi/trans/getTn"
		// + "?orderAmount="+orderAmount
		// + "&merchantNO="+merchantNO
		// + "&orderNO="+ orderNO
		// + "&backUrl="+backUrl
		// + "&Sign="+ sign;
		//
		// Log.e("", ""+url);
		//
		// //獲取TN
		// HTTPUtils.get(this, url , new VolleyListener() {
		//
		// @Override
		// public void onErrorResponse(VolleyError arg0) {
		// Log.e("", "VolleyError= "+arg0);
		// }
		//
		// @Override
		// public void onResponse(String arg0) {
		// Log.e("", "onResponse= "+arg0);
		// }
		// });
		//

	}

	// 銀聯
	private static Handler mHandler = new Handler() {
		public void handleMessage(android.os.Message msg) {
			 
			if (mLoadingDialog.isShowing()) {
				mLoadingDialog.dismiss();
			}
			String tn = "";
			if (msg.obj == null || ((String) msg.obj).length() == 0) {
				AlertDialog.Builder builder = new AlertDialog.Builder(activity);
				builder.setTitle("錯誤提示");
				builder.setMessage("網絡連接失敗,請重試!");
				builder.setNegativeButton("確定",
						new DialogInterface.OnClickListener() {
							@Override
							public void onClick(DialogInterface dialog,
									int which) {
								dialog.dismiss();
							}
						});
				builder.create().show();
			} else {
				tn = (String) msg.obj;
				/*************************************************
				 * 步驟2:通過銀聯工具類啟動支付插件
				 ************************************************/
				doStartUnionPayPlugin(activity, tn, mMode);
			}

		}
	};

	// 銀聯
	public static void doStartUnionPayPlugin(Activity activity, String tn, String mode) {
		Log.e("", "handleMessage");
		// TODO
		// orderInfo ——訂單信息為交易流水號,即TN。
		// mode —— 銀聯后臺環境標識,“00”將在銀聯正式環境發起交易, “01”將在
		// 銀聯測試環境發起交易
		UPPayAssistEx.startPayByJAR(activity, PayActivity.class, null, null,
				tn, mode);
	}

	@Override
	public void run() {
		Log.e("", "run");
		
		String tn = null;
      InputStream is;
      try {
          String url = TN_URL_01;
          URL myURL = new URL(url);
          URLConnection ucon = myURL.openConnection();
          ucon.setConnectTimeout(120000);
          is = ucon.getInputStream();
          int i = -1;
          ByteArrayOutputStream baos = new ByteArrayOutputStream();
          while ((i = is.read()) != -1) {
              baos.write(i);
          }
          tn = baos.toString();
          is.close();
          baos.close();
      } catch (Exception e) {
          e.printStackTrace();
      }

      Message msg = mHandler.obtainMessage();
      msg.obj = tn;
      mHandler.sendMessage(msg);
	}

}


這是我自己整合的銀聯支付,在

package com.example.ex_example;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
		
    }

   public void click(View v){
	  //調用
	   UnionPay.unionpay(this);
   }


}


出現如下異常:

android  銀聯支付接入報nullexception異常


找了N久才找到問題:(該死的這文件沒考)

android  銀聯支付接入報nullexception異常


希望大家注意。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

壤塘县| 灵丘县| 浦县| 滦南县| 浦江县| 阿拉善左旗| 淮南市| 德州市| 赫章县| 乌拉特前旗| 烟台市| 花莲市| 星座| 察隅县| 无为县| 台中市| 如东县| 泰顺县| 得荣县| 长垣县| 双流县| 仁怀市| 西乌| 柳河县| 德庆县| 论坛| 蕲春县| 资阳市| 嘉峪关市| 萍乡市| 松阳县| 达孜县| 竹溪县| 探索| 东乡族自治县| 新沂市| 洞口县| 视频| 黑水县| 宣化县| 安新县|