2024年2月27日发(作者:)

private String genProductArgs() {

StringBuffer xml = new StringBuffer();

String ip = getWifiIp();

if (ip == "" && ip == "") {

ip = getLocalIpAddress();

}

try {

String nonceStr = genNonceStr();

("");

List packageParams = new LinkedList();

(new BasicNameValuePair("appid", _ID));

(new BasicNameValuePair("body", "APP pay test"));

(new BasicNameValuePair("mch_id", _ID));

(new BasicNameValuePair("nonce_str", nonceStr));

(new BasicNameValuePair("notify_url",_URL));

(new BasicNameValuePair("out_trade_no",genOutTradNo()));

(new BasicNameValuePair("spbill_create_ip",ip));

(new BasicNameValuePair("total_fee", "1"));

(new BasicNameValuePair("trade_type", "APP"));

String sign = genPackageSign(packageParams);

(new BasicNameValuePair("sign", sign));

String xmlstring =toXml(packageParams);

return xmlstring;

} catch (Exception e) {

Log.e("TAG", "fail, ex = " + sage());

return null;

}

}

其中 toxml:private String toXml(List params) {

StringBuilder sb = new StringBuilder();

("");

for (int i = 0; i < (); i++) {

("<"+(i).getName()+">");

((i).getValue());

("");

}

("");

Log.e("orion",ng());

return ng();

}

private class GetPrepayIdTask extends AsyncTask> {

private ProgressDialog dialog;

@Override

protected void onPreExecute() {

dialog = (, getString(_tip), getString(g_prepayid));

}

@Override

protected void onPostExecute(Map result) {

if (dialog != null) {

s();

}

("prepay_idn"+("prepay_id")+"nn");

resultunifiedorder=result;

}

@Override

protected void onCancelled() {

elled();

}

@Override

protected Map params) {