最近在维护我之前一个项目的时候,发现android5.0的一款手机在调用支付宝的时候会抛出一个异常
java.lang.IllegalArgumentException: Service Intent must be explicit: Intent
我上网查了一下,可能是android5.0对服务启动部分做了些修改,而我用的支付宝sdk很旧,所以决定换个新的。
结果不换不知道一换吓一跳,支付宝调用不成功了
// 构造PayTask 对象
PayTask alipay = new PayTask(mActivity);
// 调用支付接口,获取支付结果
String result = alipay.pay(payInfo, true);
调用这个结果之后返回
resultStatus={4000};memo={系统繁忙,请稍后再试};result={}
调了好长时间,几近崩溃。。。
终于发现了一个自己又犯2的证据,我少加了一个Activity声明
<activity
android:name="com.alipay.sdk.app.H5PayActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:screenOrientation="behind" >
</activity>
加上这个就行了,从小就特别马虎,以后一定要更加仔细才行。
ps:至于新的sdk解决能否解决最上面那个异常我还没来得及测试,不过感觉是可以的~
ps2:异常解决了,用新的sdk就可以了。。。