网站分享比较简单的一句js就可以了,但是手机就没有这么简单了,要有点小复杂,刚学Android两个月了,也再用第三方的Android开发组件,现在介绍给大家sharesdk。直接上代码!!
第一步:下载ShareSDK
官网 http://share.sharesdk.cn/Download
第二步:集成ShareSDK
进入ShareSDK解压目录,打开“Share SDK for Android”目录,可以找到“QuickIntegrater.jar”,这个就是快速集成ShareSDK的工具
Windows下
首先确定已经安装了JDK,并且正确配置了JAVA_HOME和PATH系统变量,此时可以双击QuickIntegrater启动程序
Linux/Mac OS下
同样需要先确保已经正确配置了JDK,之后启动终端,cd进入“Share SDK for Android”目录,输入: java -jar QuickIntegrater.jar
可启动QuickIntegrater
正确输入项目的名称和包名,勾选需要的集成的平台,然后点击“确定”。QuickIntegrater会自行产生一个目录,复制此目录中的文件到您的项目中覆盖即可。
第三步:配置AndroidManifest.xml
1、添加权限
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<
uses-permission
android:name
=
"android.permission.GET_TASKS"
/>
<
uses-permission
android:name
=
"android.permission.INTERNET"
/>
<
uses-permission
android:name
=
"android.permission.ACCESS_WIFI_STATE"
/>
<
uses-permission
android:name
=
"android.permission.ACCESS_NETWORK_STATE"
/>
<
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_PHONE_STATE"
/>
<
uses-permission
android:name
=
"android.permission.MANAGE_ACCOUNTS"
/>
<
uses-permission
android:name
=
"android.permission.GET_ACCOUNTS"
/>
2、添加activity信息
<
activity
android:name
=
"cn.sharesdk.framework.ShareSDKUIShell"
android:theme
=
"@android:style/Theme.Translucent.NoTitleBar"
android:configChanges
=
"keyboardHidden|orientation|screenSize"
android:screenOrientation
=
"portrait"
android:windowSoftInputMode
=
"stateHidden|adjustResize"
>
<
intent-filter
>
<
data
android:scheme
=
"tencent100371282"
/>
<
action
android:name
=
"android.intent.action.VIEW"
/>
<
category
android:name
=
"android.intent.category.BROWSABLE"
/>
<
category
android:name
=
"android.intent.category.DEFAULT"
/>
</
intent-filter
>
</
activity
>
3、如果您集成了微信或者易信,还需要添加下面两个Activity
<
activity
android:name
=
".wxapi.WXEntryActivity"
android:theme
=
"@android:style/Theme.Translucent.NoTitleBar"
android:configChanges
=
"keyboardHidden|orientation|screenSize"
android:exported
=
"true"
android:screenOrientation
=
"portrait"
/>
<
activity
android:name
=
".yxapi.YXEntryActivity"
android:theme
=
"@android:style/Theme.Translucent.NoTitleBar"
android:configChanges
=
"keyboardHidden|orientation|screenSize"
android:exported
=
"true"
android:screenOrientation
=
"portrait"
/>
|
第四步:添加分享代码
在您的代码中调用此方法,即可打开一键分享功能进行分享
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
Private
void
showShare() {
ShareSDK.initSDK(
this
);
OnekeyShare oks =
new
OnekeyShare();
//关闭sso授权
oks.disableSSOWhenAuthorize();
// 分享时Notification的图标和文字
oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
oks.setTitle(getString(R.string.share));
// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
oks.setTitleUrl(
"http://sharesdk.cn"
);
// text是分享文本,所有平台都需要这个字段
oks.setText(
"我是分享文本"
);
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
oks.setImagePath(
"/sdcard/test.jpg"
);
// url仅在微信(包括好友和朋友圈)中使用
oks.setUrl(
"http://sharesdk.cn"
);
// comment是我对这条分享的评论,仅在人人网和QQ空间使用
oks.setComment(
"我是测试评论文本"
);
// site是分享此内容的网站名称,仅在QQ空间使用
oks.setSite(getString(R.string.app_name));
// siteUrl是分享此内容的网站地址,仅在QQ空间使用
oks.setSiteUrl(
"http://sharesdk.cn"
);
// 启动分享GUI
oks.show(
this
);
}
|
我给大家写了一个demo,官网的demo功能太多了,像我一样的初学估计看起来会有点吃力,我把里面简单的拆分开来,这样大家会有一个清晰的思路。
将定制的导入自己的项目后,然后写MainActivity部分:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
package
com.share;
import
cn.sharesdk.framework.ShareSDK;
import
cn.sharesdk.onekeyshare.OnekeyShare;
import
android.os.Bundle;
import
android.app.Activity;
import
android.view.Menu;
import
android.view.View;
import
android.widget.Button;
import
android.widget.TextView;
public
class
MainActivity
extends
Activity {
private
TextView shareall;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// showShare();
shareall = (TextView) findViewById(R.id.shareall);
shareall.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View arg0) {
// TODO Auto-generated method stub
showShare();
}
});
}
private
void
showShare() {
ShareSDK.initSDK(
this
);
OnekeyShare oks =
new
OnekeyShare();
// 关闭sso授权
oks.disableSSOWhenAuthorize();
// 分享时Notification的图标和文字
oks.setNotification(R.drawable.ic_launcher, getString(R.string.ctone));
// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
oks.setTitle(getString(R.string.share));
// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
oks.setTitleUrl(
"http://www.ctone.net/"
);
// text是分享文本,所有平台都需要这个字段
oks.setText(
"精彩无限,融通未来。 ----郑州ctone科技,官网http://www.ctone.net/"
);
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
//oks.setImagePath("http://img0.bdstatic.com/img/image/shouye/muzrxc1.jpg");
// url仅在微信(包括好友和朋友圈)中使用
oks.setUrl(
"http://www.ctone.net/"
);
// comment是我对这条分享的评论,仅在人人网和QQ空间使用
oks.setComment(
"亲,留个言吧!"
);
// site是分享此内容的网站名称,仅在QQ空间使用
oks.setSite(getString(R.string.ctone));
// siteUrl是分享此内容的网站地址,仅在QQ空间使用
oks.setSiteUrl(
"http://www.ctone.net/"
);
// 启动分享GUI
oks.show(
this
);
}
}
|
activitymain.xml部分:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<
RelativeLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
xmlns:tools
=
"http://schemas.android.com/tools"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
android:paddingBottom
=
"@dimen/activity_vertical_margin"
android:paddingLeft
=
"@dimen/activity_horizontal_margin"
android:paddingRight
=
"@dimen/activity_horizontal_margin"
android:paddingTop
=
"@dimen/activity_vertical_margin"
tools:context
=
".MainActivity"
android:background
=
"@color/white"
>
<
TextView
android:id
=
"@+id/shareall"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
android:gravity
=
"center"
android:text
=
"@string/hello_world"
/>
</
RelativeLayout
>
|
assets部分:share.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
|
|
附效果图:
祝大家好好工作,好好活着。
本文转自 吴雨声 51CTO博客,原文链接:http://blog.51cto.com/liangxiao/1429335,如需转载请自行联系原作者