package Ġcom . leo . share login pay . pay . instance Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Message Ċ import Ġandroid . text . TextUtils Ċ import Ġcom . alipay . sdk . app . Pay Task Ċ import Ġcom . leo . share login pay . pay . Ali Pay Params Bean Ċ import Ġcom . leo . share login pay . pay . Ali Pay Result Bean Ċ import Ġcom . leo . share login pay . pay . Pay Listener Ċ Ċ /** Ċ Ġ* ĠDescribe Ġ: Ġ æĶ¯ä»ĺ å®Ŀ æĶ¯ä»ĺ Ċ Ġ* ĠCreated Ġby ĠLe o Ġon Ġ 2 0 1 8 / 5 / 7 Ġon Ġ 1 5 : 2 6 . Ċ Ġ*/ Ċ class ĠAli Pay Instance Ġ: ĠPay Instance < Ali Pay Params Bean > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġdo Pay ( activity : ĠActivity , Ġpay Params : ĠAli Pay Params Bean , Ġpay Listener : ĠPay Listener ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠAli Pay Instance . pay Listener Ġ= Ġpay Listener ĊĊĠĠĠĠĠĠĠ Ġif Ġ( pay Listener Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( pay Params . order Info )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpay Listener . pay Failed ( Exception (" pay Ġparams Ġcan ` t Ġbe Ġnull ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpay Runnable Ġ= ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpay Task Ġ= ĠPay Task ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpay Result Ġ= Ġpay Task . pay ( pay Params . order Info , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= ĠMessage () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmsg . what Ġ= ĠP AY _ RESULT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmsg . obj Ġ= Ġpay Result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Handler . sendMessage ( msg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpay Thread Ġ= ĠThread ( pay Runnable ) ĊĠĠĠĠĠĠĠ Ġpay Thread . start () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Result ( data : ĠIntent ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġre cycle () Ġ{} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP AY _ RESULT Ġ= Ġ 0 x 9 5 2 7 ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġpay Listener : ĠPay Listener ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġval Ġm Handler Ġ= ĠInner Handler () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠInner Handler Ġ: Ġ ĠHandler () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle Message ( msg : ĠMessage ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( msg . what Ġ== ĠP AY _ RESULT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Bean Ġ= ĠAli Pay Result Bean ( msg . obj Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Status Ġ= Ġresult Bean . result Status ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Msg Ġ= Ġresult Bean . get Memo () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( result Status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠåĪ¤æĸŃ result Status Ġä¸º âĢľ 9 0 0 0 âĢĿ åĪĻ ä»£è¡¨ æĶ¯ä»ĺ æĪĲåĬŁ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 9 0 0 0 " Ġ-> Ġpay Listener !!. pay Success () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ" 8 0 0 0 " ä»£è¡¨ æĶ¯ä»ĺ ç»ĵæŀľ åĽłä¸º æĶ¯ä»ĺ æ¸ ł éģĵ åİŁåĽł æĪĸèĢħ ç³»ç»Ł åİŁåĽł è¿ĺ åľ¨ çŃīå¾ħ æĶ¯ä»ĺ ç»ĵæŀľ ç¡®è®¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æľĢç»Ī äº¤æĺĵ æĺ¯åĲ¦ æĪĲåĬŁ ä»¥ æľįåĬ¡ ç«¯ å¼ĤæŃ¥ éĢļçŁ¥ ä¸º åĩĨ ï¼Ī å°ı æ¦Ĥ çİĩ çĬ¶æĢģ ï¼ī ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 8 0 0 0 " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æĶ¯ä»ĺ åıĸæ¶Ī ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 0 0 1 " Ġ-> Ġpay Listener !!. pay Cancel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æĶ¯ä»ĺ å¤±è´¥ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġpay Listener !!. pay Failed ( Exception ( result Msg )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ