Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> andriod 實現新浪、QQ空間、微信朋友圈、微信好友分享功能

andriod 實現新浪、QQ空間、微信朋友圈、微信好友分享功能

編輯:關於Android編程

前言:自己在學習的過程中的一些操作過程,對分享的一些理解。下面就講解一下:

 

 

首先,我們需要去ShareSdk官方網站http://sharesdk.cn/ 去下載ShareSDK ,然後我們會有4個文件:

data-cke-saved-src=https://www.android5.online/Android/UploadFiles_5356/201702/2017022316581384.jpg

根據我自己在學習的過程中只用到了第一個文件夾的data-cke-saved-src=https://www.android5.online/Android/UploadFiles_5356/201702/2017022316581325.jpg

libs目錄的2個項目,這2個是必須要的,是ShareSdk提供的,然後需要將這2個放入到自己做的項目當中去,在Res目錄下有一個

ShareSdk.xml文件 這個很重要的,大概意思就是:提供各個客戶端能否分享,將這個也要復制到自己做的項目的assets 目錄下

 

第二步,我們需要將第3個文件Sample打開,裡面有項目需要用到的一些類,

data-cke-saved-src=https://www.android5.online/Android/UploadFiles_5356/201702/2017022316581484.jpg

這個也需要導入到項目中去的,會自動生成一個小項目,注意:不是主程序哦。這個程序中可以進行測試的,秘鑰是123456

 

第三步:配置AndroidManifest.xml









 

其他配置:

  
        

            
            

            
            

            
            
                

                

                
                
            

            
            
                

                

                
                
            
        
        
        
        
        
        

 

配置完之後,就給大家說一下添加分享代碼

在您的代碼中調用此方法,即可打開一鍵分享功能進行分享

列入一個按鈕:

                        ShareSDKUtil shareSDKUtil = new ShareSDKUtil(this);
			shareSDKUtil.setPage(getWindow().getDecorView());
			shareSDKUtil.showShare(false, null);


核心代碼:

public class ShareSDKUtil {

	private Context mContext;

	private View mView;

	public ShareSDKUtil(Context context) {
		this.mContext = context;
	}

	public Context getContext() {
		return mContext;
	}

	/**
	 * ShareSDK集成方法有兩種

	 * 1、第一種是引用方式,例如引用onekeyshare項目,onekeyshare項目再引用mainlibs庫

	 * 2、第二種是把onekeyshare和mainlibs集成到項目中,本例子就是用第二種方式
 請看“ShareSDK
	 * 使用說明文檔”,SDK下載目錄中 
 或者看網絡集成文檔
	 * http://wiki.sharesdk.cn/Android_%E5%BF%AB
	 * %E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97
	 * 3、混淆時,把sample或者本例子的混淆代碼copy過去,在proguard-project.txt文件中
	 * 
	 * 
	 * 平台配置信息有三種方式: 1、在我們後台配置各個微博平台的key
	 * 2、在代碼中配置各個微博平台的key,http://sharesdk.cn/androidDoc
	 * /cn/sharesdk/framework/ShareSDK.html
	 * 3、在配置文件中配置,本例子裡面的assets/ShareSDK.conf,
	 */
	public void showShare(boolean silent, String platform) {
		final OnekeyShare oks = new OnekeyShare();
		oks.setNotification(R.drawable.app_icon, getContext().getString(R.string.app_name));
		oks.setAddress(12345678901);
		oks.setTitle(getContext().getString(R.string.app_name));
		oks.setTitleUrl(http://www.xx.com);
		oks.setText(555555555555555555);
		
//		oks.setImagePath(Environment.getExternalStorageDirectory().getAbsolutePath()+/AndyDemo/ScreenImage/Screen_1.png);  //weixin
//		 oks.setImageUrl(http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg);//MainActivity.TEST_IMAGE_URL
		oks.setImageUrl(/sdcard/AndyDemo/ScreenImage/Screen_1.png);
		// 不能為空,否則微信分享類型為文本
		oks.setUrl(http://www.xx.com);// WeiXin
		// oks.setFilePath(MainActivity.TEST_IMAGE);//WeiXin
		// oks.setComment(getContext().getString(R.string.share));// QZone
		oks.setSite(getContext().getString(R.string.app_name));// QZone
		oks.setSiteUrl(http://www.xx.com);// QZone
		// oks.setVenueName(ShareSDK);
		// oks.setVenueDescription(This is a beautiful place!);
		// oks.setLatitude(23.056081f);
		// oks.setLongitude(113.385708f);
		oks.setSilent(silent);
		if (platform != null) {
			oks.setPlatform(platform);
		}

		// 取消注釋,可以實現對具體的View進行截屏分享
		// Add by yinghui.hong 取消注釋的同時需要將setImagePath注釋,見{@link ShareCore share}
//		oks.setViewToShare(getPage());
		oks.setViewToShare((Activity)getContext());
		// 去除注釋,可令編輯頁面顯示為Dialog模式
		// oks.setDialogMode();

		// 去除注釋,在自動授權時可以禁用SSO方式
		// oks.disableSSOWhenAuthorize();

		// 去除注釋,則快捷分享的操作結果將通過OneKeyShareCallback回調
		// oks.setCallback(new OneKeyShareCallback());
		// oks.setShareContentCustomizeCallback(new
		// ShareContentCustomizeDemo());

		// 去除注釋,演示在九宮格設置自定義的圖標
		// Bitmap logo = BitmapFactory.decodeResource(menu.getResources(),
		// R.drawable.ic_launcher);
		// String label = menu.getResources().getString(R.string.app_name);
		// OnClickListener listener = new OnClickListener() {
		// public void onClick(View v) {
		// String text = Customer Logo -- ShareSDK  +
		// ShareSDK.getSDKVersionName();
		// Toast.makeText(menu.getContext(), text, Toast.LENGTH_SHORT).show();
		// oks.finish();
		// }
		// };
		// oks.setCustomerLogo(logo, label, listener);

		// 去除注釋,則快捷分享九宮格中將隱藏新浪微博和騰訊微博
		// oks.addHiddenPlatform(SinaWeibo.NAME);
		// oks.addHiddenPlatform(TencentWeibo.NAME);

		oks.show(getContext());
	}

	public void setPage(View view) {
		this.mView = view;
	}

	protected View getPage() {
		return mView;
	}


我自己在做的過程中遇到的問題也說一下: 做這些功能分為2種,一種是需要審核的,我做的就是第一種,第2種是不需要審核的,這個大家可以去看下API,

像新浪和微信.QQ空間必須要審核才可以分享的,審核的時間有點長,在微信審核的時候那個應用簽名一定要注意了,不能填錯哦,否則就算審核成功了,也無法

分享的哦!

 

QQ空間是支持網絡圖片,我做的時候本地圖片會顯示不出來,查了下原因,是因為QQ空間沒提過這個功能,所以只能分享文字!

 

 

 

 

 

 

?? ??
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved