Android 不集成支付宝sdk实现收款功能 通过Intent调起支付宝支付
16lz
2021-01-23
功能很简单.主要通过隐式intent完成
代码如下:
package com.example.gk.testalipay;import android.content.Context;import android.content.Intent;import android.net.Uri;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.Toast;import java.net.URLEncoder;/** * 测试不集成sdk,直接对商户 个人二维码 个人收款码进行转账 * 个人二维码可以截图下来.通过扫码工具获得里面的字符串 */public class MainActivity extends AppCompatActivity implements View.OnClickListener { public static final String ALIPAY_SHOP = "https://qr.alipay.com/stx05107r5oaa4fyofbkh24";//商户 public static final String ALIPAY_PERSON = "HTTPS://QR.ALIPAY.COM/FKX06148QMZIJDXGPKXXE7";//个人(支付宝里面我的二维码) public static final String ALIPAY_PERSON_2_PAY = "HTTPS://QR.ALIPAY.COM/FKX01415BIHINQT6TRU53F";//个人(支付宝里面我的二维码,然后提示让用的收款码) private Button btn_to_shop; private Button btn_to_person; private Button btn_to_person_pay; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initViews(); initEvent(); } private void initEvent() { btn_to_shop.setOnClickListener(this); btn_to_person.setOnClickListener(this); btn_to_person_pay.setOnClickListener(this); } private void initViews() { btn_to_shop = (Button) findViewById(R.id.btn_to_shop); btn_to_person = (Button) findViewById(R.id.btn_to_person); btn_to_person_pay = (Button) findViewById(R.id.btn_to_person_pay); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_to_shop: openAliPay2Pay(ALIPAY_SHOP); break; case R.id.btn_to_person: openAliPay2Pay(ALIPAY_PERSON); break; case R.id.btn_to_person_pay: openAliPay2Pay(ALIPAY_PERSON_2_PAY); break; default: break; } } /** * 支付 * * @param qrCode */ private void openAliPay2Pay(String qrCode) { if (openAlipayPayPage(this, qrCode)) { Toast.makeText(this, "跳转成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "跳转失败", Toast.LENGTH_SHORT).show(); } } public static boolean openAlipayPayPage(Context context, String qrcode) { try { qrcode = URLEncoder.encode(qrcode, "utf-8"); } catch (Exception e) { } try { final String alipayqr = "alipayqr://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode=" + qrcode; openUri(context, alipayqr + "%3F_s%3Dweb-other&_t=" + System.currentTimeMillis()); return true; } catch (Exception e) { e.printStackTrace(); } return false; } /** * 发送一个intent * * @param context * @param s */ private static void openUri(Context context, String s) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(s)); context.startActivity(intent); }}
不过 没有集成sdk是没有办法知道用户支付状态的,除非让用户复制交易订单号然后用一个支付宝的接口进行查询
这样的功能适合个人开发的小应用.不适合商业项目
更多相关文章
- android 蓝牙4.0广播功能应用
- android 多用户之间userid和username之间判断处理;
- android 自定义menu菜单按键功能
- Android中使用TextView实现微博@功能
- android 音频播放 以及 二维码模块中音频播放和震动(vibrate)的
- android吹一吹功能的实现,利用麦克风去监听频率的变化。
- Android - 小功能 - Android系统详解之获取图片和视频的缩略图
- Android OnGestureListener用法 识别用户手势 左右滑动