友盟,简单分享



准备:

1、在清单文件的Application中注册;


<!-- 新浪 的-->
 <activity
     android:name="com.umeng.socialize.media.WBShareCallBackActivity"
     android:configChanges="keyboardHidden|orientation"
     android:theme="@android:style/Theme.Translucent.NoTitleBar"
     android:exported="false"
     android:launchMode="singleTask"
     android:screenOrientation="portrait" >
 </activity>

 <activity
     android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
     android:launchMode="singleTask"
     android:name="com.sina.weibo.sdk.share.WbShareTransActivity">
     <intent-filter>
         <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
         <category android:name="android.intent.category.DEFAULT" />
     </intent-filter>

 </activity>

 <!--qq-->
 <activity
     android:name="com.umeng.qq.tencent.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.umeng.qq.tencent.AssistActivity"
     android:screenOrientation="portrait"
     android:theme="@android:style/Theme.Translucent.NoTitleBar"
     android:configChanges="orientation|keyboardHidden|screenSize"/>





<!-- 分享编辑页-->
 <activity
     android:name="com.umeng.socialize.editorpage.ShareActivity"
     android:theme="@android:style/Theme.NoTitleBar"
     android:excludeFromRecents="true"
     />
 <meta-data android:value="5aaf6a54f29d984ca4000148" android:name="UMENG_APPKEY"/>
 <meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>
其中QQ的AuthActivity

可能会报红色,但是可以运行,


各种权限:


<!-- 必须的权限 -->
<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.INTERNET" />

<!-- 推荐的权限 -->e
<!-- 添加如下权限,以便使用更多的第三方SDK和更精准的统计数据 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />



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



2、导入依赖:


compile 'com.umeng.sdk:common:latest.integration'
compile 'com.umeng.sdk:analytics:latest.integration'
implementation files('libs/SocialSDK_QQ_Simplify.jar')
implementation files('libs/SocialSDK_Sina_Simplify.jar')
implementation files('libs/SocialSDK_WeChat_Simplify.jar')
implementation files('libs/umeng_shareboard_widget.jar')
implementation files('libs/umeng_social_api.jar')
implementation files('libs/umeng_social_net.jar')
implementation files('libs/umeng_social_shareboard.jar')
implementation files('libs/umeng_social_shareview.jar')
implementation files('libs/umeng_social_tool.jar')


MainActivity中:

package com.bwei.demo.day11_umeng;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

import com.umeng.analytics.MobclickAgent;
import com.umeng.socialize.ShareAction;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.UMShareListener;
import com.umeng.socialize.bean.SHARE_MEDIA;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);




    }


    public void onResume() {
        super.onResume();
        MobclickAgent.onResume(this);
    }
    public void onPause() {
        super.onPause();
        MobclickAgent.onPause(this);


    }


    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
    }


    //分享的
    public void click(View view) {

        new ShareAction(MainActivity.this).withText("hello")  .setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
                .setCallback(umShareListener).open();
    }


    private UMShareListener umShareListener = new UMShareListener() {
        /**
         * @descrption 分享开始的回调
         * @param platform 平台类型
         */
        @Override
        public void onStart(SHARE_MEDIA platform) {

        }

        /**
         * @descrption 分享成功的回调
         * @param platform 平台类型
         */
        @Override
        public void onResult(SHARE_MEDIA platform) {
            Toast.makeText(MainActivity.this,"成功了",Toast.LENGTH_LONG).show();
        }

        /**
         * @descrption 分享失败的回调
         * @param platform 平台类型
         * @param t 错误原因
         */
        @Override
        public void onError(SHARE_MEDIA platform, Throwable t) {
            Toast.makeText(MainActivity.this,"失败"+t.getMessage(),Toast.LENGTH_LONG).show();
        }

        /**
         * @descrption 分享取消的回调
         * @param platform 平台类型
         */
        @Override
        public void onCancel(SHARE_MEDIA platform) {
            Toast.makeText(MainActivity.this,"取消了",Toast.LENGTH_LONG).show();

        }
    };
}







AppLication中的操作:


package com.bwei.demo.day11_umeng;

import android.app.Application;

import com.umeng.analytics.MobclickAgent;
import com.umeng.commonsdk.UMConfigure;
import com.umeng.socialize.PlatformConfig;
import com.umeng.socialize.UMShareAPI;

/**
 * Created by Administrator on 2018/3/19.
 */

public class MyApplication extends Application {

    //三方的key
    {

        PlatformConfig.setWeixin("wx967daebe835fbeac","5bb696d9ccd75a38c8a0bfe0675559b3");
        PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
        PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com");
    }

    @Override
    public void onCreate() {
        super.onCreate();

        UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "1fe6a20054bcef865eeb0991ee84525b");
        MobclickAgent.setScenarioType(this, MobclickAgent.EScenarioType.E_UM_NORMAL);


        //初使
        UMShareAPI.get(this);

    }
}

activity_main:布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    tools:context="com.bwei.demo.day11_umeng.MainActivity">

    <Button
        android:onClick="click"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="分享"
         />

</LinearLayout>


进行分享步骤


socialize_share_menu_item中:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="vertical">

    <com.umeng.socialize.shareboard.SocializeImageView
        android:id="@+id/socialize_image_view"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:padding="5dp"
        android:src="@drawable/umeng_socialize_menu_default" />

    <TextView
        android:id="@+id/socialize_text_view"
        android:layout_width="63dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="6dp"
        android:ellipsize="end"
        android:singleLine="true"
        android:text="未知"
        android:textSize="12sp" />

</LinearLayout>


umeng_socialize_oauth_dialog弹出:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="vertical">

    <com.umeng.socialize.shareboard.SocializeImageView
        android:id="@+id/socialize_image_view"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:padding="5dp"
        android:src="@drawable/umeng_socialize_menu_default" />

    <TextView
        android:id="@+id/socialize_text_view"
        android:layout_width="63dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="6dp"
        android:ellipsize="end"
        android:singleLine="true"
        android:text="未知"
        android:textSize="12sp" />

</LinearLayout>


umeng_socialize_share:


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#D4E0E5"
    android:id="@+id/root"
    android:orientation="vertical">

    <RelativeLayout
        android:id="@+id/umeng_socialize_share_titlebar"
        android:layout_width="match_parent"
        android:layout_height="54dp"
        android:background="#0086DC">

        <TextView
            android:id="@+id/umeng_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text=""
            android:textColor="#ffffff"
            android:textSize="18sp" />

        <RelativeLayout
            android:id="@+id/umeng_back"
            android:layout_width="50dp"
            android:layout_height="match_parent"
            android:onClick="onCancel"
            android:visibility="visible">

            <ImageButton
                android:layout_width="12dp"
                android:layout_height="20dp"
                android:layout_centerVertical="true"
                android:layout_marginLeft="15dp"
                android:background="@drawable/umeng_socialize_back_icon"
                android:clickable="false"
                android:scaleType="center" />
        </RelativeLayout>

        <TextView
            android:id="@+id/umeng_share_btn"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_alignParentRight="true"
            android:layout_centerInParent="true"
            android:gravity="center_vertical"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:text="分享"
            android:textColor="#ffffff"
            android:textSize="15sp" />
    </RelativeLayout>

    <EditText
        android:id="@+id/umeng_socialize_share_edittext"
        android:layout_width="fill_parent"
        android:layout_height="180dp"
        android:layout_below="@id/umeng_socialize_share_titlebar"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:paddingTop="8dp"
        android:background="#ffffff"
        android:bufferType="spannable"
        android:gravity="top"
        android:hint="编辑分享内容"
        android:lineSpacingExtra="3dp"
        android:paddingBottom="10dp"
        android:textColor="#000000"
        android:textSize="15sp" />

    <TextView
        android:id="@+id/umeng_socialize_share_word_num"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignRight="@id/umeng_socialize_share_edittext"
        android:background="#ffffff"
        android:layout_below="@id/umeng_socialize_share_edittext"
        android:paddingBottom="10dp"
        android:paddingRight="15dp"
        android:gravity="right"
        android:singleLine="true"
        android:textColor="#98999B"
        android:textSize="14sp" />

    <RelativeLayout
        android:id="@+id/umeng_socialize_share_bottom_area"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/umeng_socialize_share_word_num"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:background="#F2F5F6"
        android:visibility="gone">
        <RelativeLayout
            android:layout_width="62dp"
            android:layout_height="62dp"
            android:layout_centerVertical="true"
            android:layout_marginBottom="15dp"
            android:layout_marginLeft="15dp"
            android:id="@+id/umeng_image_edge"
            android:layout_marginTop="15dp"
           android:background="@drawable/umeng_socialize_edit_bg"
            >
        <ImageView
            android:id="@+id/umeng_share_icon"
            android:layout_width="60dp"
            android:layout_height="60dp"
           android:layout_centerInParent="true"
            android:src="#2c3035" />
        </RelativeLayout>
    <TextView
        android:layout_width="280dp"
        android:id="@+id/umeng_web_title"
        android:layout_toRightOf="@id/umeng_image_edge"
        android:layout_marginLeft="40dp"
        android:layout_marginTop="20dp"
        android:textColor="#575A5C"
        android:singleLine="true"
        android:textSize="14sp"
        android:visibility="gone"
        android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/umeng_del"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_alignRight="@id/umeng_image_edge"
        android:layout_alignTop="@id/umeng_image_edge"
        android:layout_marginRight="-10dp"
        android:layout_marginTop="-10dp"
        android:background="@drawable/umeng_socialize_delete" />


    </RelativeLayout>

</RelativeLayout>




然后Values文件夹中

umeng_socialize_colors.xml



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



   <!--<color name="umeng_socialize_list_item_bgcolor">#FFFFFF</color>-->
   <!--<color name="umeng_socialize_divider">#E6E6E6</color>-->
   <!--<color name="umeng_socialize_text_time">#999999</color>-->
   <!--<color name="umeng_socialize_text_title">#464f61</color>-->
   <!--<color name="umeng_socialize_text_friends_list">#959696</color>-->
   <!--<color name="umeng_socialize_text_share_content">#666666</color>-->
   <!--<color name="umeng_socialize_ucenter_bg">#EEEEEE</color>-->
   <!--<color name="umeng_socialize_text_ucenter">#595959</color>-->
   <!--<color name="umeng_socialize_edit_bg">#C4C4C4</color>-->
   <!--<color name="umeng_socialize_grid_divider_line">#F8F8F8</color>-->
   <!--<color name="umeng_socialize_web_bg">#F4F4F4</color>-->
   <!--<color name="umeng_socialize_shareactivity">#D4E0E5</color>-->
   <!--<color name="umeng_socialize_shareactivitydefault">#ffffff</color>-->
</resources>






umeng_socialize_shareview_strings.xml


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="umeng_socialize_sharetosina">分享到新浪微博</string>
    <string name="umeng_socialize_sharetodouban">分享到豆瓣</string>
    <string name="umeng_socialize_sharetorenren">分享到人人网</string>

    <string name="umeng_socialize_sharetotencent">分享到腾讯微博</string>
    <string name="umeng_socialize_sharetotwitter">分享到twitter</string>
    <string name="umeng_socialize_sharetolinkin">分享到领英</string>
</resources>



umeng_socialize_strings.xml



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


    <!-- 平台名称 -->

</resources>




还有一个授权样式的文件

umeng_socialize_style.xml

(以没有注释的为准)



<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <!--<style name="ACPLDialog">-->
        <!--<item name="android:windowFrame">@null</item>-->
        <!--<item name="android:windowNoTitle">true</item>-->
        <!--<item name="android:windowIsFloating">true</item>-->
        <!--<item name="android:windowContentOverlay">@null</item>-->
    <!--</style>-->
    <!--<style name="umeng_socialize_action_bar_itemlayout">-->
        <!--<item name="android:layout_height">fill_parent</item>-->
        <!--<item name="android:layout_width">fill_parent</item>-->
        <!--<item name="android:layout_weight">1</item>-->
        <!--<item name="android:paddingLeft">4dp</item>-->
        <!--<item name="android:paddingTop">4dp</item>-->
        <!--<item name="android:paddingRight">4dp</item>-->
        <!--<item name="android:gravity">center_vertical</item>-->
    <!--</style>-->

    <!--<style name="umeng_socialize_action_bar_item_im">-->
        <!--<item name="android:layout_width">25dp</item>-->
        <!--<item name="android:layout_height">25dp</item>-->
        <!--<item name="android:scaleType">fitCenter</item>-->
        <!--<item name="android:layout_centerVertical">true</item>-->
    <!--</style>-->

    <!--<style name="umeng_socialize_action_bar_item_tv">-->
        <!--<item name="android:layout_width">wrap_content</item>-->
        <!--<item name="android:layout_height">fill_parent</item>-->
        <!--<item name="android:layout_marginLeft">5dp</item>-->
        <!--<item name="android:text">999</item>-->
        <!--<item name="android:gravity">center</item>-->
        <!--<item name="android:textColor">#ffffff</item>-->
        <!--<item name="android:textSize">12sp</item>-->
        <!--<item name="android:textStyle">bold</item>-->
    <!--</style>-->

    <!--网页授权的布局-->
    <style name="umeng_socialize_popup_dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:background">@android:color/transparent</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:backgroundDimAmount">0.6</item>
    </style>


    <!--<style name="Theme.UMDialog" parent="android:style/Theme.Dialog">-->
        <!--<item name="android:windowNoTitle">true</item>-->
        <!--<item name="android:windowBackground">@android:color/transparent</item>-->
    <!--</style>-->

    <style name="Theme.UMDefault" parent="android:style/Theme.NoTitleBar"></style>

    <!--<style name="umeng_socialize_divider">-->
        <!--<item name="android:layout_width">fill_parent</item>-->
        <!--<item name="android:layout_height">1dp</item>-->
        <!--<item name="android:background">@color/umeng_socialize_divider</item>-->
    <!--</style>-->

    <!--<style name="umeng_socialize_list_item">-->
        <!--<item name="android:layout_width">fill_parent</item>-->
        <!--<item name="android:layout_height">55dp</item>-->
        <!--<item name="android:background">@color/umeng_socialize_list_item_bgcolor</item>-->
        <!--<item name="android:paddingBottom">5dp</item>-->
        <!--<item name="android:paddingTop">5dp</item>-->
    <!--</style>-->

    <!--<style name="umeng_socialize_edit_padding">-->
        <!--<item name="android:layout_width">fill_parent</item>-->
        <!--<item name="android:layout_height">fill_parent</item>-->
        <!--<item name="android:background">@color/umeng_socialize_list_item_bgcolor</item>-->
        <!--<item name="android:layout_marginLeft">6dp</item>-->
        <!--<item name="android:layout_marginRight">6dp</item>-->
        <!--<item name="android:layout_marginTop">6dp</item>-->
        <!--<item name="android:layout_marginBottom">6dp</item>-->
    <!--</style>-->


</resources>



============================================================================


//分享的
    public void click(View view) {

        new ShareAction(MainActivity.this).withText("hello")  .setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
                .setCallback(umShareListener).open();
    }

这样的分享是有问题的,选择分享的时候会有一个提示就是说不支持文本分享什么的

其实只要不是文本形式的就可以



规范无论标题还是描述都可以自己实现

@Override
public void onClick(View v) {

    UMWeb web = new UMWeb(url);//连接地址
    web.setTitle(title);//标题
    web.setDescription(miaos);//描述


    new ShareAction(WebActivity.this).withMedia(web).setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
            .setCallback(umShareListener).open();
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值