安卓开发学习安卓开发安卓开发

安卓个人开发者如何使用微信支付做打赏捐赠

2017-06-11  本文已影响150人  机智的Harbor

微信支付来打赏,一直是个人开发者的心痛之地。

微信的很多Activity都是只能在它自己app的uid下启动,其他app调用不了,让用户主动截取二维码,然后扫描,实在是不明智之举,用户体验不太好。

一直在苦苦思索怎么有更简单的方法。

刚刚看到黑域使用的一种办法,比较具有可行性,就借鉴了过来[w再见][w再见]

原理是利用微信扫码快捷方式(我怎么就想不到)

首先利用Dialog提示用户

二维码从哪里来呢? 我的解决方案是,放到服务器上,来获取并保存下来

支付方式按钮

然后提用户打开微信的扫一扫

通过快捷方式的方式进入扫一扫

保存完了要发个广播通知一下,要不然微信、图库上面找不到那张二维码

发广播的代码

然后就能愉快便捷地开启捐赠之旅了。[w调皮][w调皮]

附源代码:

private void gotoWeChat() {
    Intent intent = new Intent("com.tencent.mm.action.BIZSHORTCUT");
    intent.setPackage("com.tencent.mm");
    intent.putExtra("LauncherUI.From.Scaner.Shortcut", true);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
            Intent.FLAG_ACTIVITY_CLEAR_TOP |
            Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
    try {
        startActivity(intent);
    }catch (ActivityNotFoundException e){
        Toast.makeText(this, "你好像没有安装微信", Toast.LENGTH_SHORT).show();
    }
}
private void sendPictureStoredBroadcast(File file) {
    Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    Uri uri = Uri.fromFile(file);
    intent.setData(uri);
    sendBroadcast(intent);
}
上一篇 下一篇

猜你喜欢

热点阅读