第三方分享和登陸受權

分享

在Manifest中添加權限
 <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.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />android

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------微信

application裏面寫一下代碼,value要改

qq精簡版:app

    <activity
            android:name="com.umeng.qq.tencent.AuthActivity"
            android:launchMode="singleTask"
            android:noHistory="true" >ide

            <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>ui

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

 

添加友盟appkey (也在manifest裏面的<application  裏面配置</application> )
    <meta-data
            android:name="UMENG_APPKEY"
            android:value="5a1f9ad1b27b0a648b000318" >
    </meta-data>url

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------spa

建立一個類 APP  繼承 Application{
    //底下的放置裏面  微信的 QQ的  
    {
        PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3");
        PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
        PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad", "http://sns.whalecloud.com");
    }.net

 //對sdk進行初始化  開啓DEBUG模式orm

    @Override
    public void onCreate() {
        super.onCreate();
        UMShareAPI.get(this);
  //導包導import com.umeng.socialize.Config;
        Config.DEBUG = true;
    }
}

而後再<application 中  必定要最頂部/第一行添加 你建立那個類的名稱 android:name=".類名"

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在點擊事件中 設置分享帶面板或不帶面板 和 下面的 UMImage image = new UMImage(this, R.mipmap.pigu);  選擇本地文件

 分享

(帶面板)


new ShareAction(MainActivity.this)
    .withText("hello")  
    .withMedia(image) 
    .setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
    .setCallback(new UMShareListener)
    .open();

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

關於分享面板的更多功能能夠參照分享面板進階。

   分享

(不帶面板)

new ShareAction(MainActivity.this)
.setPlatform(SHARE_MEDIA.QQ)//傳入平臺
.withText("hello")//分享內容
.setCallback(new UMShareListener )//回調監聽器
.share();

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在Activity中添加

 

if (Build.VERSION.SDK_INT >= 23) {
            String[] mPermissionList = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CALL_PHONE, Manifest.permission.READ_LOGS, Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.SET_DEBUG_APP, Manifest.permission.SYSTEM_ALERT_WINDOW, Manifest.permission.GET_ACCOUNTS, Manifest.permission.WRITE_APN_SETTINGS};
            ActivityCompat.requestPermissions(this, mPermissionList, 123);
        }

 

      在Oncreate方法外邊寫這個方法

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

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

登陸

UMShareAPI umShareAPI=UMShareAPI.get(this);
                umShareAPI.getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, new UMAuthListener() {
                    @Override
                    public void onStart(SHARE_MEDIA share_media) {

                    }

                    @Override
                    public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {
                        tv.setText(map.get("name"));
                        Picasso.with(MainActivity.this).load(map.get("iconurl")).into(img);
                    }

                    @Override
                    public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {

                    }

                    @Override
                    public void onCancel(SHARE_MEDIA share_media, int i) {

                    }
                });

監聽外邊寫這個方法


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

    }

相關文章
相關標籤/搜索