适用于个人开发者开发的APP中,让用户打赏给作者,实质上进行支付宝转账到指定账号的功能。

  一、打开‘支付宝’APP ,点击'收款'功能 ,将收款码(二维码)图片保存到手机上(进一步移到电脑上)。

  二、找一个在线二维码解析网页工具,解析一下收款码图片。将最后一个/后面的字符串复制出来,这是需要使用的部分

  三、添加如下的一个工具类

public class AlipayUtil {
// 支付宝包名
private static final String ALIPAY_PACKAGE_NAME = "com.eg.android.AlipayGphone"; // 旧版支付宝二维码通用 Intent Scheme Url 格式
private static final String INTENT_URL_FORMAT = "intent://platformapi/startapp?saId=10000007&" +
"clientVersion=3.7.0.0718&qrcode=https%3A%2F%2Fqr.alipay.com%2F{urlCode}%3F_s" +
"%3Dweb-other&_t=1472443966571#Intent;" +
"scheme=alipayqr;package=com.eg.android.AlipayGphone;end"; /**
* 打开转账窗口
* 旧版支付宝二维码方法,需要使用 https://fama.alipay.com/qrcode/index.htm 网站生成的二维码
* 这个方法最好,但在 2016 年 8 月发现新用户可能无法使用
*
* @param activity Parent Activity
* @param urlCode 手动解析二维码获得地址中的参数,例如 https://qr.alipay.com/aehvyvf4taxxxxxxx 最后那段
* @return 是否成功调用
*/
public static boolean startAlipayClient(Activity activity, String urlCode) {
return startIntentUrl(activity, INTENT_URL_FORMAT.replace("{urlCode}", urlCode));
} /**
* 打开 Intent Scheme Url
*
* @param activity Parent Activity
* @param intentFullUrl Intent 跳转地址
* @return 是否成功调用
*/
public static boolean startIntentUrl(Activity activity, String intentFullUrl) {
try {
Intent intent = Intent.parseUri(
intentFullUrl,
Intent.URI_INTENT_SCHEME
);
activity.startActivity(intent);
return true;
} catch (URISyntaxException e) {
e.printStackTrace();
return false;
} catch (ActivityNotFoundException e) {
e.printStackTrace();
return false;
}
} /**
* 判断支付宝客户端是否已安装,建议调用转账前检查
*
* @param context Context
* @return 支付宝客户端是否已安装
*/
public static boolean hasInstalledAlipayClient(Context context) {
PackageManager pm = context.getPackageManager();
try {
PackageInfo info = pm.getPackageInfo(ALIPAY_PACKAGE_NAME, );
return info != null;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
return false;
}
}
}

  

  四、调用方法,传入第二部获取的字符串即可实现 用户打开向指定支付宝账户转账的界面

          if (AlipayUtil.hasInstalledAlipayClient(this)){
AlipayUtil.startAlipayClient(this,"XXXXXXXXXXXXXXXX"); // 第二步获取到的字符串
}else{
TastyToast.makeText(this, "未检测到支付宝,无法实现打赏功能", TastyToast.LENGTH_SHORT, TastyToast.CONFUSING);
}

Android打赏功能:支付宝转账的更多相关文章

  1. 免sdk实现微信/支付宝转账打赏功能

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/162 近期发现了一个很好的开源项目,可以给自己的app添加 ...

  2. Android RecyclerView 实现支付宝首页效果

    Android RecyclerView 实现支付宝首页效果 [TOC] 虽然我本人不喜欢支付宝的,但是这个网格本身其实还是不错的,项目更新中更改了一个布局为网格模式,类似支付宝.(估计是产品抄袭的= ...

  3. Android App集成支付宝

    原地址:http://blog.csdn.net/wenbingoon/article/details/7933078 手机的在线支付,被认为是2012年最看好的功能,我个人认为这也是移动互联网较传统 ...

  4. 用js实现博客打赏功能

    前几天在一个博客中看到有一个打赏功能.其实简单说来就是在页面中加入动态DOM节点,使用的也是简单的HTML.CSS.JS这些前端的一些简单知识.在GitHub上有开源的代码,这里稍加改造就可以用在自己 ...

  5. 为CSDN博客添加打赏功能

    随着移动支付在国内的兴起,越来越多的付费内容越多如雨后春笋般的冒了出来.其中以<逻辑思维>.罗振宇.李笑来为主要代表作品和人物. 现在很多博客或者个人网站里面都有打赏功能,这算是对博主的劳 ...

  6. Android中集成支付宝

    手机的在线支付,被认为是2012年最看好的功能,我个人认为这也是移动互联网较传统互联网将会大放光彩的一个功能. 人人有手机,人人携带手机,花钱买东西,不再需要取钱付现,不再需要回家上网银,想买什么,扫 ...

  7. [译]:Xamarin.Android平台功能——位置服务

    返回索引目录 原文链接:Location Services. 译文链接:Xamarin.Android平台功能--位置服务 本部分介绍位置服务以及与如何使用位置提供商服务 Location Servi ...

  8. Android表情功能

    Android表情功能 标签(空格分隔): 未分类 转载自:android edittext插入表情(基于socket方式),并对文中不正确的内容进行整理和修正 [TOC] 涉及知识点: Androi ...

  9. Cocos2d-x使用android拍照功能加载照片内存过大,通过另存照片尺寸大小解决

    使用2dx调用android拍照功能,拍照结束后在2dx界面显示拍照照片,如果不对照片做处理,会出现内存过大的问题,导致程序崩溃,如果仅仅另存拍照照片,则照片质量大小均下降,导致照片不够清晰,后来发现 ...

随机推荐

  1. Ext3和Ext4文件系统区别

    inode http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html Ex3使用15个inode查询数据块,前12个为直接数据块,直接指 ...

  2. Python之matplotlib学习(三)

    例子11-1:横坐标时间的处理 from matplotlib.dates import datestr2num,DateFormatter import matplotlib.dates as da ...

  3. 【S2-052】漏洞复现(CVE-2017-9805)

    一.漏洞描述 Struts2 的REST插件,如果带有XStream组件,那么在进行反序列化XML请求时,存在未对数据内容进行有效验证的安全隐患,可能发生远程命令执行. 二.受影响版本 Struts2 ...

  4. iOS打包静态库(完整篇)

    1. 什么是库? 所谓库就是程序代码的集合,是共享程序代码的一种方式. 2. 库的分类 根据程序代码的开源情况,库可以分为两类 开源库源代码是公开的,你可以看到具体实现.比如GitHub上比较出名的第 ...

  5. lua luaconf解读

    定义了一些跟平台相关的宏,明确指出一些不推荐使用的函数,如lua_cpcall.lua_strlen

  6. Java精选笔试题

    合抱之木,生于毫末:九层之台,起于垒土:千里之行:始于足下.赶快测测你的Java基础知识掌握的如何? 1,下列说法正确的是() A.一个文件里可以同时存在两个public修饰的类 B.构造函数可以被重 ...

  7. openface 训练数据集

    训练深度网络模型OpenFace还不是运用faceNet的model作为训练模型,所以在准确性上比faceNet要低,如果你只是做一个简单的分类,建议你看看官网的demo3(http://cmusat ...

  8. 理解MVC入门基础原理

    今天,我将开启一个崭新的话题:ASP.NET MVC框架的探讨.首先,我们回顾一下ASP.NET Web Form技术与ASP.NET MVC的异同点,并展示各自在Web领域的优劣点.在讨论之前,我对 ...

  9. C语言之赋值

    #include<stdio.h>/*void change(int m,int n){ int t; t=m; m=n; n=t;}*/int main(){//交换两杯水,需要一个空杯 ...

  10. poj 3431 Expedition 优先队列

    poj 3431 Expedition 优先队列 题目链接: http://poj.org/problem?id=2431 思路: 优先队列.对于一段能够达到的距离,优先选择其中能够加油最多的站点,这 ...