免SDK实现微信/支付宝转账打赏功能

====================

安卓个人开发者如果如果想着App里实现支付打赏功能,嵌入sdk不说成本大外,基本是过不了市场审核的。那么我们可以利用有限资源,封装组件实现一个mini型的打赏功能。

一、支付宝转账分析

支付宝的转账和支付功能,都可以通过二维码打开相关的支付页面,并且用浏览器扫一扫后也是可以正常呼起正常支付页面的。那么我们简单分析下,支付宝的二维码整个跳转肯定不需要相关集成sdk的,那么到底什么样的数据格式可以做到的?

在支付宝个人信息页,找到 我的二维码,截图自己的支付宝二维码,识别下,得到以下信息:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

二维码在线解析网址移步

可以看到支付宝的支付二维码就是一个普通的http url, 然后它主要信息就存在后缀字符: apafm3kp91df7yo517 里。

https://qr.alipay.com/apafm3kp91df7yo517

网上查询后,发现果然可以通过scheme去打开支付宝转账页面。参考

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

于是马上动手实现,验证scheme方式是有效的。剩下的就是怎么封装下方面调用。

二、微信转账分析

有了支付宝的转账经验,我们同样从二维码信息入手,发现微信随着版本更新,会有很多验证,直接用scheme调微信,会打开微信的一个空白网页。

分析

然后研究里下微信支付sdk,发现在接口调用的时间需要商户id,及appsecret等信息验证,这就意味这我们单纯的没有任何身份信息去调起微信支付是不可能的。 那么我们退而求其次,用引导方式帮用户直接打开微信扫一扫页面,文案引导用户从相册打开二维码,然后支付。

下一步,就是找到打开微信扫一扫的方法。

private void toWeChatScan() {
try {
//利用Intent打开微信
Uri uri = Uri.parse(“weixin://dl/scan”);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
} catch (Exception e) {
//若无法正常跳转,在此进行错误处理
Toast.makeText(DinpayWeChatActivity.this, “无法跳转到微信,请检查您是否安装了微信!”, Toast.LENGTH_SHORT).show();
}
}

以上是网上推荐的方法,那么很不幸的是,这种方法估计在很早之前版本可以,但是现在这种方法是无效的

那么是不是高版本就没有方法里呢?继续google,发现以下方法是可行的:

/package/ static void startWechatScan(Context c) {
Intent intent = new Intent();
intent.setComponent(new ComponentName(“com.tencent.mm”, “com.tencent.mm.ui.LauncherUI”));
intent.putExtra(“LauncherUI.From.Scaner.Shortcut”, true);
intent.setFlags(335544320);
intent.setAction(“android.intent.action.VIEW”);

if (MiniPayUtils.isActivityAvailable(c, intent)) {
c.startActivity(intent);
} else {
Toast.makeText(c, “未安装微信~”, Toast.LENGTH_SHORT).show();
}
}

二维码微信相册保存

实现微信扫一扫跳转后,用户在从相册选择二维码时,怎么样才能一眼选出我们的目标转账二维码呢?

观察发现微信的二维码选择相册是按照时间顺序排序,那么只要我们的图片生成时间最新就可以排在第一位,每次新生成截图保存即可。

相关图片生成及相册保存逻辑如下:

/package/
static void startWeZhi(Context c, View view) {
File dir = c.getExternalFilesDir(“pay_img”);
if (dir != null &&
!dir.exists() && !dir.mkdirs()) {
return;
} else {
File[] f = dir.listFiles();
for (File file : f) {
file.delete();//删除旧截图,每次用新截图,保证相册排序。
}
}

String fileName = System.currentTimeMillis() + “weixin_qa.png”;
File file = new File(dir, fileName);
if (!file.exists()) {
file.delete();
}

snapShot(c, file, view);
startWechat©;
}

/**

  • 截图保存逻辑
    */
    private static void snapShot(Context context, @NonNull File file, @NonNull View view) {
    Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas();
    canvas.setBitmap(bitmap);
    view.draw(canvas);

FileOutputStream fos = null;
boolean isSuccess = false;
try {
fos = new FileOutputStream(file);
//通过io流的方式来压缩保存图片
isSuccess = bitmap.compress(Bitmap.CompressFormat.PNG, 80, fos);
fos.flush();

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

文末

很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家

这里笔者分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

【视频教程】

天道酬勤,只要你想,大厂offer并不是遥不可及!希望本篇文章能为你带来帮助,如果有问题,请在评论区留言。

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

6)]

天道酬勤,只要你想,大厂offer并不是遥不可及!希望本篇文章能为你带来帮助,如果有问题,请在评论区留言。

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
  • 24
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抖音是一款非常受欢迎的视频分享平台,而抖音跳转到微信、QQ或者网页H5的源码程序可以实现在抖音视频中添加跳转链接的功能。下面是一种实现方式的简要说明: 首先,我们需要在抖音的开发者平台上注册账号,并创建一个应用。通过开发者平台,我们可以获取到抖音的SDK和API相关信息。 其次,我们需要了解抖音的视频分享流程。当用户点击视频分享按钮时,我们需要将跳转链接添加到分享链接中。可以通过SDK提供的接口实现这个功能,将跳转链接和视频信息传递给抖音的分享接口即可。 在跳转链接中,我们可以设置对应的微信、QQ或者网页H5的链接地址。当用户点击分享的视频,在打开视频的同时,也会跳转到我们设置的链接地址,实现从抖音到其他平台或者网页的跳转功能。 当然,在实现这个功能时,我们还需要考虑用户的授权问题。例如,跳转到微信或者QQ时,需要用户授权登录。这可以通过SDK提供的接口来实现,将用户的授权信息传递给对应的平台。 总而言之,抖音跳转到微信、QQ或者网页H5的源码程序需要通过抖音的SDK和API来实现。通过将跳转链接添加到分享链接中,并结合用户的授权信息,我们可以在抖音视频中实现跳转到其他平台或者网页的功能。这样就可以让用户在享受抖音视频的同时,进行更多的交互和体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值