如何实现友盟第三方登录与分享

//友盟配置

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.example.tadaynews"

    android:versionCode="1"

    android:versionName="1.0" >

 

    <uses-sdk

        android:minSdkVersion="14"

        android:targetSdkVersion="14" />

    <!-- 友盟登录需要的权限 -->

    <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.CALL_PHONE" />

    <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" />

    

    <!--百度提送需要的权限  -->

    <!-- Push service 运行需要的权限 -->

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

<uses-permission android:name="android.permission.VIBRATE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>

<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />

<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />

    

    <application

        android:name="com.example.utils.App"

        android:icon="@drawable/icon"

        android:allowBackup="true"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <activity

            android:name="com.example.view.WelcomeActivity"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

 

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

        

           <!-- 主界面 -->

          <activity

            android:name="com.example.tadaynews.MainActivity"

            android:label="@string/app_name" >

            

        </activity>

     

              <!--  更多登录方式界面 -->

         <activity

            android:name="com.example.login.MoreLoginActivity"

            android:label="@string/app_name" >

        </activity>

      <!--  手机登录 -->

           <activity

            android:name="com.example.login.LoginActivity"

            android:label="@string/app_name" >

        </activity>

        <!--注册 -->

         <activity

            android:name="com.example.login.RegisterActivity"

            android:label="@string/app_name" >

        </activity>

        <!--注册详情  -->

         <activity

            android:name="com.example.login.RegisterInfo"

            android:label="@string/app_name" >

        </activity>

        <!-- 设置页面 -->

           <activity

            android:name="com.example.view.Left_MenuSetActivity"

            android:label="@string/app_name" >

        </activity>

         <!-- 找回密码 -->

         <activity

            android:name="com.example.login.FindPasswordActivity"

            android:label="@string/app_name" >

        </activity>

           <activity

            android:name="com.example.fragment.FragInfoActivity"

            android:label="@string/app_name" >

        </activity>

           <activity

            android:name="com.example.view.DownLoadActivity"

            android:label="@string/app_name" >

        </activity>

        <!--搜索页面  -->

        <activity

            android:name="com.example.tadaynews.SearchActvity"

            android:label="@string/app_name" >

        </activity>

         

         <activity

            android:name="com.example.tadaynews.SourchInfoActivity"

            android:label="@string/app_name" >

        </activity>

         

         

          <!-- 友盟配置 -->

        <activity

            android:name="com.umeng.socialize.editorpage.ShareActivity"

            android:excludeFromRecents="true"

            android:theme="@style/Theme.UMDefault" />

        <!-- 微信 -->

        <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" />

        <!-- 微博 -->

        <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:exported="false"

            android:windowSoftInputMode="adjustResize" >

        </activity>

 

        <service

            android:name="com.sina.weibo.sdk.net.DownloadService"

            android:exported="false" >

        </service>

 

        <!-- qq -->

        <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="tencent1105181363" />

            </intent-filter>

        </activity>

        <activity

            android:name="com.tencent.connect.common.AssistActivity"

            android:screenOrientation="portrait"

            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

 

<!--        微信回调 -->

        <activity

            android:name="com.example.umeng.WXEntryActivity"

            android:configChanges="keyboardHidden|orientation|screenSize"

            android:exported="true"

            android:screenOrientation="portrait"

            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

 

        <meta-data

            android:name="UMENG_APPKEY"

            android:value="56e7626ee0f55a8a3f0017c9" >

        </meta-data>

              

              <!-- 4.6版本新增的Activity声明,提升Push后台存活率 -->

<activity

    android:name="com.baidu.android.pushservice.PushKeepAlive"

    android:theme="@android:style/Theme.Translucent.NoTitleBar"/>

 

 

 

<!-- push service start -->

<!-- 用于接收系统消息以保证PushService正常运行 -->

<receiver android:name="com.baidu.android.pushservice.PushServiceReceiver"

    android:process=":bdservice_v1" >

    <intent-filter>

        <action android:name="android.intent.action.BOOT_COMPLETED" />

        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />

        <action android:name="com.baidu.android.pushservice.action.notification.SHOW" />

        <action android:name="com.baidu.android.pushservice.action.media.CLICK" />

        <!-- 以下四项为可选的action声明,可大大提高service存活率和消息到达速度 -->

        <action android:name="android.intent.action.MEDIA_MOUNTED" />

        <action android:name="android.intent.action.USER_PRESENT" />

        <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />

        <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />

    </intent-filter>

</receiver>

<!-- Push服务接收客户端发送的各种请求-->

<receiver android:name="com.baidu.android.pushservice.RegistrationReceiver"

    android:process=":bdservice_v1" >

    <intent-filter>

        <action android:name="com.baidu.android.pushservice.action.METHOD" />

        <action android:name="com.baidu.android.pushservice.action.BIND_SYNC" />

    </intent-filter>

    <intent-filter>

        <action android:name="android.intent.action.PACKAGE_REMOVED" />

        <data android:scheme="package" />

    </intent-filter>                   

</receiver>

<service android:name="com.baidu.android.pushservice.PushService" android:exported="true"

    android:process=":bdservice_v1" >

    <intent-filter >

            <action android:name="com.baidu.android.pushservice.action.PUSH_SERVICE" />

    </intent-filter>

</service>

<!-- 4.4版本新增的CommandService声明,提升小米和魅族手机上的实际推送到达率 -->

<service android:name="com.baidu.android.pushservice.CommandService"

    android:exported="true" />

<!-- push结束 -->

<!-- 此处Receiver名字修改为当前包名路径 -->

<receiver android:name="com.example.utils.PushTestReceiver">

    <intent-filter>

        <!-- 接收push消息 -->

        <action android:name="com.baidu.android.pushservice.action.MESSAGE"/>

        <!-- 接收bindsetTagsmethod的返回结果-->

        <action android:name="com.baidu.android.pushservice.action.RECEIVE" />

        <!-- 接收通知点击事件,和通知自定义内容 -->

        <action android:name="com.baidu.android.pushservice.action.notification.CLICK" />

    </intent-filter>

</receiver>

  

    </application>

 

    

</manifest>


//友盟第三方登录

package com.example.utils;


import java.util.Map;


import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;


import android.app.Activity;
import android.content.Context;
import android.widget.Toast;


/**
 * 工具类
 * 定有友盟,,,第三方登录 类,实现整个项目的第三方登录
 * @author 浅议爱
 *
 */
public class UmengUtils {


public static void uMengLogin(final Context context,SHARE_MEDIA share){
UMShareAPI mUMAPI = UMShareAPI.get(context);

UMAuthListener uMengShare = new UMAuthListener() {
@Override
// 鎴愬姛
public void onComplete(SHARE_MEDIA platform, int action,
Map<String, String> data) {
Toast.makeText(context.getApplicationContext(), "Authorize succeed",
Toast.LENGTH_SHORT).show();
}
@Override
// 澶辫触
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
Toast.makeText(context.getApplicationContext(), "Authorize fail",
Toast.LENGTH_SHORT).show();
}
@Override
// 鍙栨秷
public void onCancel(SHARE_MEDIA platform, int action) {
Toast.makeText(context.getApplicationContext(), "Authorize cancel",
Toast.LENGTH_SHORT).show();
}
};
mUMAPI.doOauthVerify((Activity) context, share, uMengShare);
}


}

//工具类

/**
 * 
 */
package com.example.utils;


import com.umeng.socialize.PlatformConfig;


import android.app.Application;


/**
 * @author WJL
 * 
 */
public class App extends Application {
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
// 寰俊 appid appsecret
PlatformConfig.setWeixin("wx967daebe835fbeac",
"5bb696d9ccd75a38c8a0bfe0675559b3");
// 鏂版氮寰崥 appkey appsecret
PlatformConfig.setSinaWeibo("3921700954",
"04b48b094faeb16683c32669824ebdad");
// QQ鍜孮zone appid appkey
PlatformConfig.setQQZone("1105181363",
"  nOSNQJcIQSRw3a03");


}
}


//友盟分享

package com.example.fragment;


import java.util.List;


import com.example.bean.ObjectData;
import com.example.tadaynews.R;
import com.umeng.socialize.Config;
import com.umeng.socialize.PlatformConfig;
import com.umeng.socialize.ShareAction;
import com.umeng.socialize.UMShareListener;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.shareboard.SnsPlatform;
import com.umeng.socialize.utils.ShareBoardlistener;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.widget.ImageView;


/**
 * 
 * 该页面,显示详情页面,点击分享按钮,进行分享
 * @author 浅议爱
 *
 */
public class FragInfoActivity extends Activity {
private UMShareListener umShareListener;
private ShareBoardlistener shareBoardlistener;

private WebView mWebView;
private ImageView shareImageView;//分享按钮
    private List<ObjectData> list_data;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

setContentView(R.layout.frag_info);


PlatformConfig.setQQZone("100424468",
"c7394704798a158208a74ab60104f0ba");
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");
share();

mWebView=(WebView) findViewById(R.id.mywebview);
shareImageView=(ImageView) findViewById(R.id.share_image);
Intent it=getIntent();
String url=(String) it.getSerializableExtra("web_url");
list_data=(List<ObjectData>) it.getSerializableExtra("data");
mWebView.loadUrl(url);

//设置监听,点击,进行分享,分享数据
shareImageView.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Config.OpenEditor = false;
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 };
new ShareAction(FragInfoActivity.this).setDisplayList(displaylist)
.setShareboardclickCallback(shareBoardlistener).open();



}
});
}


/**

* 分享调用的方法
*/
private void share() {
// TODO Auto-generated method stub
umShareListener=new UMShareListener() {
//分享成功
@Override
public void onResult(SHARE_MEDIA arg0) {
// TODO Auto-generated method stub

}
//分享失败
@Override
public void onError(SHARE_MEDIA arg0, Throwable arg1) {
// TODO Auto-generated method stub

}
//取消分享
@Override
public void onCancel(SHARE_MEDIA arg0) {
// TODO Auto-generated method stub

}
};

// shareBoardlistener=new ShareBoardlistener() {
// //选择要分享的数据
// @Override
// public void onclick(SnsPlatform arg0, SHARE_MEDIA arg1) {
// // TODO Auto-generated method stub
// if (arg1 == null) {
// if (arg0.mKeyword.equals("11")) {
// }
// } else {
// // 设置分享的内容
// new ShareAction(FragInfoActivity.this)
// .setPlatform(arg1)
// .setCallback(umShareListener)
// .withText(list_data.getContent())
// .withTitle(list_data.getTitle())
// .withTargetUrl(list_data.getDisplay_url())
// .setListenerList(umShareListener).share();
// }
// }
// };
}
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值