2016-06-10 40 views
0

我們的Android團隊一直在整合最近宣佈的Register SDK,並且遇到了幾個問題。無法使用Android的Square Register SDK重新啓動交易

我們在重複啓動事務時(例如,第一次嘗試失敗時)會看到一些奇怪的行爲。

具體而言,在安裝了Square Register應用程序但未登錄的情況下進行測試時,ChargeRequest意圖按照預期的方式啓動活動:第一次:它簡要地啓動註冊應用程序,然後將用戶返回到調用應用程序,用戶被通知他或她沒有登錄。

但是,如果我們退出啓動Square事務並再次啓動整個流程的活動,則在嘗試啓動另一個Square事務時不會收到任何響應。只有當我們殺了應用程序,冷啓動,並重新啓動過程,原來的(和預期的)行爲重新發生。

任何想法或建議在這裏將不勝感激。

謝謝!

+0

嗨!我開始研究這個問題,並會在我知道更多信息時跟進。同時,您是否可以確認您始終使用「startActivityForResult()」,並且從不使用普通的「startActivity()」?謝謝。 –

回答

0

當你調用startActivityForResult()上完成某個活動實例,Android的自動切換到startActivity()呼叫並記錄以下內容:

startActivity called from non-Activity context; forcing Intent.FLAG_ACTIVITY_NEW_TASK for: Intent { act=com.squareup.register.action.CHARGE cmp=com.squareup.eng/com.squareup.ui.ApiActivity (has extras) } 

的意思是叫應用程序無法返回一個活動的結果,而且很難讓來電者知道什麼是錯的。這是導致此問題的根源問題。