第三方登录and分享

1.解压SDK压缩包,将文件夹中的'main/libs'和'main/res'文件夹复制到你的项目工程根目录下(如使用'ADT 17'以下用户需要手动添加'libs'下的jar文件到工程Path中)

2.

其中增加一个activity

<activity           
android:name="com.umeng.socialize.editorpage.ShareActivity"
android:theme="@style/Theme.UMDefault"
android:excludeFromRecents="true"/>

3.设置友盟appid

<meta-data
android:name="UMENG_APPKEY"
android:value="4eaee02c527015373b000003" >
</meta-data>

4.

<!-- 配置权限 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.SET_DEBUG_APP" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

5.<!-- 微信    start-->
        <activity
            android:name="com.umeng.soexample.wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <!-- 微信     end -->
        <!-- 新浪   start -->
        <activity
            android:name=".WBShareActivity"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
      <activity
            android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"
            android:configChanges="keyboardHidden|orientation"
            android:windowSoftInputMode="adjustResize"
            android:exported="false" >
        </activity>
        <service
            android:name="com.sina.weibo.sdk.net.DownloadService"
            android:exported="false">
        </service>
        <!-- 新浪   end -->
         <!-- QQ start-->
         <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="tencent100424468" />
        </intent-filter>
        </activity>
        <activity          
        android:name="com.tencent.connect.common.AssistActivity"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
          <!-- QQ end -->

6.

各个平台的配置,建议放在全局Application或者程序入口

public class App extends Application{
 @Override
public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();
    shared();
    Image();
    
}
 private void Image(){
     ImageLoaderConfiguration Image = new ImageLoaderConfiguration.Builder(this).build();
        ImageLoader.getInstance().init(Image);
 }
 
 private void shared(){
     PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3");
     //微信 appid appsecret
    PlatformConfig.setSinaWeibo("3921700954","04b48b094faeb16683c32669824ebdad");
     //新浪微博 appkey appsecret
    PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
      // QQ和Qzone appid appkey     
    PlatformConfig.setAlipay("2015111700822536");
      //支付宝 appid
    PlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf");
      //易信 appkey      
    PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi", "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO");
      //Twitter appid appkey
    PlatformConfig.setPinterest("1439206");
      //Pinterest appid
    PlatformConfig.setLaiwang("laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e");
      //来往 appid appkey
 }
 

7.主界面


import java.util.Map;

import android.app.Activity;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

import com.umeng.socialize.ShareAction;
import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.UMShareListener;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.media.UMImage;

public class SecondActivity extends Activity{

    private UMShareAPI mShareAPI;
    final SHARE_MEDIA[] displaylist = new SHARE_MEDIA[] { SHARE_MEDIA.WEIXIN,
            SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.SINA, SHARE_MEDIA.QQ,
            SHARE_MEDIA.QZONE, SHARE_MEDIA.DOUBAN };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        
    }
    public void qq(View view){

        // 获取UMShareAPI
        mShareAPI = UMShareAPI.get(this);
        // 使用哪个平台账号登录
        SHARE_MEDIA platform = SHARE_MEDIA.QQ;

        mShareAPI.doOauthVerify(this, platform, new UMAuthListener() {

            @Override
            public void onError(SHARE_MEDIA platform, int action, Throwable t) {
                Toast.makeText(getApplicationContext(), "Authorize fail",
                        Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onCancel(SHARE_MEDIA platform, int action) {
                Toast.makeText(getApplicationContext(), "Authorize cancel",
                        Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onComplete(SHARE_MEDIA arg0, int arg1,
                    Map<String, String> arg2) {
                // TODO Auto-generated method stub
                Toast.makeText(getApplicationContext(), "Authorize succeed",
                        Toast.LENGTH_SHORT).show();
            }
        });

    }
    public void shared(View view){
        UMImage image = new UMImage(SecondActivity.this,
                BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));

        new ShareAction(this).setDisplayList(displaylist).withText("呵呵")
                .withTitle("title").withTargetUrl("http://www.baidu.com")
                .withMedia(image).setListenerList(new UMShareListener() {
                    @Override
                    public void onResult(SHARE_MEDIA platform) {
                        Toast.makeText(SecondActivity.this, platform + " 分享成功啦",
                                Toast.LENGTH_SHORT).show();
                    }

                    @Override
                    public void onError(SHARE_MEDIA platform, Throwable t) {
                        Toast.makeText(SecondActivity.this, platform + " 分享失败啦",
                                Toast.LENGTH_SHORT).show();
                    }

                    @Override
                    public void onCancel(SHARE_MEDIA platform) {
                        Toast.makeText(SecondActivity.this, platform + " 分享取消了",
                                Toast.LENGTH_SHORT).show();
                    }
                }).open();
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
        mShareAPI.onActivityResult(requestCode, resultCode, data);
    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值