Giter Site home page Giter Site logo

hsf25737 / loginsharepay Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iwdael/platformlinker

0.0 0.0 0.0 1.58 MB

LoginSharePay集成QQ,微博,微信的登录和分享,包括微信支付。它配置简单,使用方便,且能够快速运用到应用中,为开发者节省了大量时间。

Java 100.00%

loginsharepay's Introduction

LoginSharePay


loginshare集成QQ,微博,微信的登录和分享。它配置简单,使用方便,且能够快速运用到应用中,为开发者节省了大量时间。

使用说明

QQ,微博,微信的登录和分享必须通过LoginShare类来实现,如果你只想实现登录功能,那么这两个方法就可以不用实现(onNewIntent(Intent intent),onActivityResult(int requestCode, int resultCode, Intent data))。English

代码示例

public class MainActivity extends AppCompatActivity implements OnLoginshareListener {
    LoginShare loginShare;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        loginShare = new LoginShare(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 text

Step 5. 复制Java文件

点击这里下载 Java文件,解压并复制文件到应用包。 Image text

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. 修改签名

申请的第三方账户的签名必须与应用的签名一致。 否则,登录和分享会出现问题。


感谢浏览

如果你有任何疑问,请加入QQ群,我将竭诚为你解答。欢迎Star和Fork本仓库,当然也欢迎你关注我。
Image Text

loginsharepay's People

Contributors

iwdael avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.