[問題] startActivity問題

作者: p31819 (凜大小姐~最高!!)   2018-10-01 10:26:04
各位大大好,小弟最近在整合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
完全不知道從何下手,
不知道有沒有大大有什麼建議?
感謝。
作者: bearkevin (bear)   2018-10-01 12:12:00
看看失敗的時候 url 跟成功的時候 是一樣的嗎?
作者: p31819 (凜大小姐~最高!!)   2018-10-01 14:26:00
一樣的url,再startActivity一次會成功
作者: starburs (星爆氣流斬)   2018-10-01 20:08:00
那第四次第五次呢 會不會是因為他還在parse的過程中你又按了按扭導致失敗
作者: erty0402 (缺副駕駛)   2018-10-01 22:41:00
先看看每次launch的是不是同一個instance
作者: p31819 (凜大小姐~最高!!)   2018-10-02 09:38:00
不會是多按按鈕的失敗,因為本來是自動執行的讓他跑失敗為了debug改停住自己按是為了確定是startActivity的問題多按幾次沒試過,因為成功的話就會跳過去了launch是不是同一個instance? 不太懂什麼問題 我用同一個Url要startActivity有時失敗有時成功小弟傳到github,還懇請大大們幫忙看有沒有啥頭緒QQ 感謝
作者: y3k (激流を制するは静水)   2018-10-02 23:41:00
換startActivityForResult()看看 還有中間再隔一個空的Activity也可以試試 這招我解某個遙遠的奇怪bug時用過
作者: t52101t (五子棋)   2018-10-03 00:46:00
第一次跳轉到第二次跳轉之間 你是點返回按鈕回到你的App的嗎?
作者: p31819 (凜大小姐~最高!!)   2018-10-03 09:56:00
補上Line Pay文件及流程,第一次和第二次之間跳轉補在內文startActivityForResult我記得就原始碼來說都會執行到這步startActivity之後是會執行startActivityForResult的補充這問題 1.不同手機不一定會發生 2.不同時段不一定會發生。 3.和android版本似乎沒關係,同版本有的好有的發生有人會懷疑是server問題,但是paymentUrl跳轉App是不透過server的。所以單純是在單機上startActivity的問題

Links booklink

Contact Us: admin [ a t ] ucptt.com