作者p31819 (凛大小姐~最高!!)
看板AndroidDev
标题[问题] startActivity问题
时间Mon Oct 1 10:26:04 2018
各位大大好,小弟最近在整合Line Pay
他需要使用url来跳转到Line的App来进行付款。
这时遇到一个奇怪的问题不知该如何解决。
按照文件收到Api回覆後有个跳转Line的url
然後使用他文件的code来跳转
Uri uri = Uri.parse(urlString);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
这样的方式,
但是第一次跳转没问题,第二次跳转就会没有反应。
第三次又可以跳转。
没反应的那次也不会有任何错误讯息。
我试着打Log看activity生命周期资讯,
正常的情况是onPause之後就会跳到Line App,
然後原本的activity会进入onStop。
跳转失败的情况会onPause後,
直接接onResume回原来的activity。
https://i.imgur.com/noGyFmP.jpg
完全不知道从何下手,
不知道有没有大大有什麽建议?
感谢。
--------------------------------------------------
https://github.com/ChangHungChih/LinePayEx
补上github
code是在MainActivity跳转
不过LinePay很难测试
有意愿帮忙测试的大神
再来信跟我拿後台帐号,要把IP加进白名单才能用
---------------------------------------------------
https://pay.line.me/tw/developers/documentation/download/tech?locale=zh_TW
补上Line Pay的整合文件
流程是
1.呼叫reserveApi,传给line confirmUrl,并收到回传的paymentUrl
2.用startActivity执行paymentUrl跳转至line app 付款页面
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^这段出问题,使用的是文件第54页的code
3.在line app 付款完後,line会跳转第一点传的confirmUrl
4.在confirmUrl中处理最後的付款确认请求回覆,完成付款流程
我在confirmUrl确认付款完後,又用startActivity跳回MainActivity
然後再进行一次上面的流程就会在第二点出现本次的问题。
我有想过问题会不会是confirmUrl的设定,
我是用scheme做了一个网址执行可以跳进来我的app
但是因为之後是跳回mainActivity执行startActivity出问题的,
感觉关联性不高。
confirmUrl的设定如下图
https://i.imgur.com/2wJ6NXk.jpg
传给Line 的Url 是 lafresh://auth_activity
这边可能是会有问题,但又看不出啥关联。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.72.231.7
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1538360768.A.01E.html
※ 编辑: p31819 (211.72.231.7), 10/01/2018 11:23:30
1F:推 bearkevin: 看看失败的时候 url 跟成功的时候 是一样的吗? 10/01 12:12
2F:→ p31819: 一样的url,再startActivity一次会成功 10/01 14:26
3F:→ starburs: 那第四次第五次呢 会不会是因为他还在parse的过程中你又 10/01 20:08
4F:→ starburs: 按了按扭导致失败 10/01 20:08
5F:→ erty0402: 先看看每次launch的是不是同一个instance 10/01 22:41
6F:→ p31819: 不会是多按按钮的失败,因为本来是自动执行的让他跑失败 10/02 09:38
7F:→ p31819: 为了debug改停住自己按是为了确定是startActivity的问题 10/02 09:39
8F:→ p31819: 多按几次没试过,因为成功的话就会跳过去了 10/02 09:42
9F:→ p31819: launch是不是同一个instance? 不太懂什麽问题 我用同一个 10/02 09:42
10F:→ p31819: Url要startActivity有时失败有时成功 10/02 09:43
※ 编辑: p31819 (211.72.231.7), 10/02/2018 09:46:49
11F:→ p31819: 小弟传到github,还恳请大大们帮忙看有没有啥头绪QQ 感谢 10/02 09:47
12F:→ y3k: 换startActivityForResult()看看 还有中间再隔一个空的Activi 10/02 23:41
13F:→ y3k: ty也可以试试 这招我解某个遥远的奇怪bug时用过 10/02 23:42
14F:推 t52101t: 第一次跳转到第二次跳转之间 你是点返回按钮回到你的App 10/03 00:46
15F:→ t52101t: 的吗? 10/03 00:46
※ 编辑: p31819 (211.72.231.7), 10/03/2018 09:55:03
16F:→ p31819: 补上Line Pay文件及流程,第一次和第二次之间跳转补在内文 10/03 09:56
17F:→ p31819: startActivityForResult我记得就原始码来说都会执行到这步 10/03 09:58
18F:→ p31819: startActivity之後是会执行startActivityForResult的 10/03 09:59
19F:→ p31819: 补充这问题 1.不同手机不一定会发生 2.不同时段不一定会发 10/03 10:03
20F:→ p31819: 生。 3.和android版本似乎没关系,同版本有的好有的发生 10/03 10:04
21F:→ p31819: 有人会怀疑是server问题,但是paymentUrl跳转App是不透过 10/03 10:05
22F:→ p31819: server的。所以单纯是在单机上startActivity的问题 10/03 10:05
23F:→ p31819: 结果似乎是Line的问题,在更新到8.15.3版後就没问题了... 10/25 15:36