1. 程式人生 > >android通過sdk調不起微信原因

android通過sdk調不起微信原因

在分析微信不能調起之前我們需要先了接appId的作用以及生成過程。

一. appId生成過程

為了安全起見,微信為每個app生成一個唯一的appId,所以一個appId對應著唯一的包名,以及簽名(keystore)。

二.支付結果通知

支付結果通過回撥包名.wxapi.WXPayEntryActivity來通知,所以我們可以自定義一個Activity來接受支付結果。如

<!-- 微信支付回撥 -->
<activity
 android:name="com.sdk.pay.WXPayEntryActivity"
 android:exported="true"
 android:launchMode="singleTop"
android:screenOrientation="portrait" android:theme="@android:style/Theme.NoDisplay" /> <activity-alias android:name="com.sdk.pay.wxapi.WXPayEntryActivity" android:exported="true" android:targetActivity="com.sdk.pay.WXPayEntryActivity" android:theme="@android:style/Theme.NoDisplay" />

com.sdk.pay.WXPayEntryActivity需要實現IWXAPIEventHandler介面,通過onResp接受支付結果

二. 不能調起微信原因

2.1 appId和應用包名,以及簽名一一對應,如果在B app用A app的appId會導致調不起微信

2.2 缺少keystore簽名檔案,無論是debug包還是release包都應改使用keystore進行簽名,否則不能調起微信

2.3 回撥activity包名錯誤,註冊包名.wxapi.WXPayEntryActivity來監聽支付結果