Android 第三方登入分享支付從未如此簡單
loginsharepay整合QQ,微博,微信的登入和分享。它配置簡單,使用方便,且能夠快速運用到應用中,為開發者節省了大量時間。
github:ofollow,noindex">https://github.com/hacknife/LoginSharePay
使用說明
QQ,微博,微信的登入和分享必須通過LoginShare類來實現,如果你只想實現登入功能,那麼這兩個方法就可以不用實現(onNewIntent(Intent intent),onActivityResult(int requestCode, int resultCode, Intent data))。English
程式碼示例
public class MainActivity extends AppCompatActivity implements OnLoginshareListener { LoginSharePay loginShare; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); loginShare = new LoginSharePay (this); //loginShare.launchQQLogin(); //loginShare.launchWechatLogin(); //loginShare.launchWeiboLogin(); //loginShare.launchQQShare(MessageBody.QQMessageBodyBuilder()); //loginShare.launchWechatShare(MessageBody.WechatMessageBodyBuilder()); //loginShare.launchWeiboShare(MessageBody.WeiboMessageBodyBuilder()); } @Override protected void onStart() { super.onStart(); loginShare.register(this); } @Override protected void onDestroy() { super.onDestroy(); loginShare.unRegister(); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); loginShare.onNewIntent(intent); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { loginShare.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data); } /** * @param type 型別 QQ ,Wechat 或 Weibo * @param info json格式字串的使用者資訊 */ @Override public void onLoginSuccess(Type type, String info) { } @Override public void onLoginCancel(Type type) { } @Override public void onLoginError(Type type, int errorCode) { } @Override public void onShareSuccess(Type type) { } @Override public void onShareCancel(Type type) { } @Override public void onShareError(Type type, int code) { }
如何配置
將本倉庫引入你的專案:
Step 1. 新增JitPack倉庫到Build檔案
合併以下程式碼到專案根目錄下的build.gradle檔案的repositories尾。點選檢視詳情
allprojects { repositories { ... maven { url 'https://hacknife.com' } maven { url "https://dl.bintray.com/thelasterstar/maven/" } } }
Step 2. 新增依賴
合併以下程式碼到需要使用的application Module的dependencies尾,注意替換version版本號。點選檢視詳情
dependencies { ... compile 'com.hacknife:loginsharepay:version' compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+' compile 'com.sina.weibo.sdk:core:4.1.0:openDefaultRelease@aar' }
Step 3. 設定JniLibs目錄
合併以下程式碼到你的application module的build.gradle。點選檢視詳情
android { ... sourceSets { main() { jniLibs.srcDirs = ['libs'] } } }
Step 4. 複製動態庫檔案
點選這裡下載動態檔案 ,解壓並複製檔案到libs目錄。
[圖片上傳失敗...(image-70fc10-1540706096564)]
Step 5. 複製Java檔案
點選這裡下載Java檔案 ,解壓並複製檔案到應用包。
[圖片上傳失敗...(image-348050-1540706096565)]
Step 6. 修改AndroidManifest檔案
複製程式碼且合併到Application標籤
<application android:icon="@mipmap/app_logo" android:label="@string/app_name" android:roundIcon="@mipmap/app_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme"> ...... <meta-data android:name="qq" android:value="qq_key" /> <meta-data android:name="wechat" android:value="wechat_key" /> <meta-data android:name="wechatSecret" android:value="wechat_secret" /> <meta-data android:name="weibo" android:value="weibo_key" /> <meta-data android:name="weiboRedirectUrl" android:value="weibo_redirectUrl" /> <meta-data android:name="weiboScope" android:value="weibo_scope" /> <activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:noHistory="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tencent1234567" /> <!-- tencent+qq_key --> </intent-filter> </activity> <activity android:name="com.tencent.connect.common.AssistActivity" android:configChanges="orientation|keyboardHidden" android:screenOrientation="behind" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <!-- java file corresponds to it--> <activity android:name=".wxapi.WXEntryActivity" android:exported="true" android:label="@string/app_name" /> ......
step 7. 修改簽名
申請的第三方賬戶的簽名必須與應用的簽名一致。 否則,登入和分享會出現問題。