这几天的Android专业实训,老师布置了一些题目,有些出现了QQ分享,于是自己探索了一下分享功能的实现。
其实很简单,第一步注册腾讯开放平台,第二步创建应用,第三部按照提示步骤上传各种东西,然后提交。
上面几步最重要的就是为了获取APP ID,获取后就可以在程序中进行修改了。
前提要导入open_sdk_r6008_lite.jar,这个我会上传至我的博客中,大家也可以到官网下载
首先在我们以主界面添加一个button作为QQ分享按钮;
接着在AndroidManifest中添加权限和和注册分享Activity代码如下:
<uses-permission android :name = “android.permission.INTERNET” /> <uses-permission android :name = “android.permission.ACCESS_NETWORK_STATE” /> <uses-permission android :name = “android.permission.ACCESS_WIFI_STATE” / > <uses-permission android :name = “android.permission.MOUNT_UNMOUNT_FILESYSTEMS” /> <uses-permission android :name = “android.permission.WRITE_EXTERNAL_STORAGE” /> <uses-permission android :name = “android.permission.CAMERA”/> <uses-permissionandroid :name = “android.permission.RECORD_AUDIO” /> <uses-permission android :name = “android.permission.WRITE_EXTERNAL_STORAGE” />
<activity android:name="com.tencent.tauth.AuthActivity" android:noHistory="true" android:launchMode="singleTask" > <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="tencentID1106949003" tools:ignore="AppLinkUrlError" /> <!-- 获取的APPID --> </intent-filter> </activity> <activity android:name="com.tencent.connect.common.AssistActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="orientation|keyboardHidden|screenSize" />
接着在MainActivity中添加以下代码:
private static final String APP_ID = "1106949003"; //获取的APPID
private Tencent mTencent;
//Oncreate中添加
mTencent = Tencent.createInstance(APP_ID, MainActivity.this.getApplicationContext());
//QQ分享方法
/*** * qq分享 */ public void qqShare(View v) { final Bundle params = new Bundle(); params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_APP); params.putString(QQShare.SHARE_TO_QQ_TITLE, "我正在使用这个简单实用的股票查询,来试试吧!"); params.putString(QQShare.SHARE_TO_QQ_SUMMARY, "一款简单的股票查询软件"); params.putString(QQShare.SHARE_TO_QQ_IMAGE_URL, "http://pic36.photophoto.cn/20150821/0007019978523877_b.jpg"); params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "股票查询"); mTencent.shareToQQ(MainActivity.this, params, new ShareUiListener()); } /** * 自定义监听器实现IUiListener,需要3个方法 * onComplete完成 onError错误 onCancel取消 */ private class ShareUiListener implements IUiListener { @Override public void onComplete(Object response) { //分享成功 } @Override public void onError(UiError uiError) { //分享失败 } @Override public void onCancel() { //分享取消 } }