import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.webkit.JavascriptInterface;import android.webkit.WebChromeClient;import android.webkit.WebView;import android.webkit.WebViewClient;import com.commons.CallBack;import com.geluyawangluo.withthenight.YiYuanMainActivity;import com.geluyawangluo.withthenight.tool.ScreenManagerFour;import com.geluyawangluo.withthenight.yiyuanyiz.JdPay;import com.geluyawangluo.withthenight.yiz.OrderYiz;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.RequestParams;import com.te33.yelaiban.R;import org.json.JSONObject;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.util.HashMap;/** * Created by Administrator on 2016/5/24. */public class JDPayWeb extends Activity{    private WebView webView;    private JdPay jdPay;    private OrderYiz orderYiz;    private String id="";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_jdpayweb);        ScreenManagerFour.getInstance().addActivity(this);        jdPay=new JdPay(this);        orderYiz=new OrderYiz(this);        webView=(WebView)findViewById(R.id.web);        Intent intent=this.getIntent();        if(intent!=null){           id=intent.getStringExtra("id");            jDPayCanShu();        }    }    //获取京东支付需要的参数    public void jDPayCanShu(){        orderYiz.getJdPayCanShu(id ,new CallBack() {            @Override            public void run(boolean isError, JSONObject jsonObject) {                if(isError){                    return;                }                if(jsonObject.optString("success").equals("1")){                    HashMap map=new HashMap();                    JSONObject datas=jsonObject.optJSONObject("data");
                    map.put("currency",datas.optString("currency"));
                    map.put("failCallbackUrl",datas.optString("failCallbackUrl"));                    map.put("merchantNum",datas.optString("merchantNum"));                    map.put("merchantRemark",datas.optString("merchantRemark"));                    map.put("merchantSign",datas.optString("merchantSign"));                    map.put("notifyUrl",datas.optString("notifyUrl"));                    map.put("successCallbackUrl",datas.optString("successCallbackUrl"));                    map.put("token",datas.optString("token"));                    map.put("tradeAmount",datas.optString("tradeAmount"));                    map.put("tradeDescription",datas.optString("tradeDescription"));                    map.put("tradeNum",datas.optString("tradeNum"));                    map.put("tradeName",datas.optString("tradeName"));                    map.put("tradeTime",datas.optString("tradeTime"));                    map.put("version",datas.optString("version"));                    loginByAsyncHttpClientPost(map);                }            }        });    }    public void loginByAsyncHttpClientPost(HashMap map) {        RequestParams params = new RequestParams();
   
//京东支付需要的参数
params.put( "successCallbackUrl", getStr(map.get( "successCallbackUrl"))); params.put( "tradeDescription", getStr(map.get( "tradeDescription"))); params.put( "tradeTime", getStr(map.get( "tradeTime"))); params.put( "tradeNum", getStr(map.get( "tradeNum"))); params.put( "tradeName", getStr(map.get( "tradeName"))); params.put( "merchantRemark", getStr(map.get( "merchantRemark"))); params.put( "version", getStr(map.get( "version"))); params.put( "currency", getStr(map.get( "currency"))); params.put( "merchantSign", getStr(map.get( "merchantSign"))); params.put( "token", getStr(map.get( "token"))); params.put( "tradeAmount", getStr(map.get( "tradeAmount"))); params.put( "notifyUrl", getStr(map.get( "notifyUrl"))); params.put( "merchantNum", getStr(map.get( "merchantNum"))); params.put( "failCallbackUrl", getStr(map.get( "failCallbackUrl"))); getRutl(params.toString()); }//处理京东支付的参数,不经过这一步无法请求 public String getStr(String str){ String postData= ""; try { postData = URLEncoder. encode(str.toString(), "utf-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return postData;}//请求京东支付 public void getRutl( String str){ webView.setWebChromeClient( new WebChromeClient()); webView.setWebViewClient( new WebViewClient()); webView.getSettings().setJavaScriptEnabled( true);
//京东支付网址        webView.postUrl("https://m.jdpay.com/wepay/web/pay",str.getBytes());        webView.setWebViewClient(new WebViewClient() {            @Override            public void onPageFinished(WebView view, String url) {                String str=url;                super.onPageFinished(view, url);            }            @Override            public void onPageStarted(WebView view, String url, Bitmap favicon) {                super.onPageStarted(view, url, favicon);            }        });    }   }

更多相关文章

  1. 漫谈Android网络编程
  2. 单例模式之传递Context参数
  3. Android(安卓)GPRS的自动打开与关闭
  4. Android压力测试之Monkey
  5. Build Android(安卓)Project with Gradle
  6. 初涉Android之数据库数据列表显示
  7. Ubuntu下android studio如何使用ndk-build的so库
  8. android 软件参数设置的保存和读取 附源码
  9. Android中使用Post请求的方法

随机推荐

  1. Windows下安装Android(安卓)Studio
  2. Android(安卓)禁止屏幕旋转
  3. Android监听网络状态实现(BroadcastRecei
  4. Android排序数组的简单方法
  5. Android原生SQLite操作以及greenDao框架
  6. Android(安卓)-- Environment类
  7. android listview 中使用EditText 防止数
  8. 友盟统计 集成测试看不到实时日志
  9. Android(安卓)dialog,activity 屏蔽Home
  10. Android之异步任务AsyncTask解析Json数据