赞
踩
首先是看 qq互联里面的文档 按文档操作:qqsdk移动应用接入流程 按照这个流程一步一步来就是了。基本上没的错误的。但还是有些很坑的地方。这里列举一些。
接下来
一、首先是qq登陆。
下载sdk集成到项目 并在androidmanifest.xml里面增加节点 :集成到项目
- <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="tencentxxxxxxxxxx" />
- </intent-filter>
- </activity>
-
- <activity
- android:name="com.tencent.connect.common.AssistActivity"
- android:screenOrientation="behind"
- android:theme="@android:style/Theme.Translucent.NoTitleBar"
- android:configChanges="orientation|keyboardHidden">
- </activity>
注意哈 XXXXXXX的地方,要换成你的APP_ID 前面的tencent一定要哈。不能删除。以下文档凡事xxxxxxxx的地方都是app-id
具体就是拷贝*.jar到lib目录下,然后添加编译。 这些基本上的朋友都会嘛 不用讲述了嘛
注意,这里有个坑,如果是全量SDK包,是包含有支付SDK的,有一些应用市场会限制个人开发者的产品里添加这种支付SDK,审核不过。
修改方式也简单,就是只添加基础包,分享登录什么的够用了。下载下来的都有说明的。自己选择就是了 在jar里面。
- private IWXAPI api;
- private Handler handler=new Handler();
- private Tencent tencent;
- private Button qqlanding;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_land);
-
- // Tencent类是SDK的主要实现类,开发者可通过Tencent类访问腾讯开放的OpenAPI。
- // 其中APP_ID是分配给第三方应用的appid,类型为String。
-
- tencent = Tencent.createInstance("xxxxxxx", this.getApplicationContext());
-
- // 1.4版本:此处需新增参数,传入应用程序的全局context,可通过activity的getApplicationContext方法获取
-
- // 初始化视图
- init();
-
- }
- public void Login(){
- tencent = Tencent.createInstance("xxxxxxx", this.getApplicationContext());
- if (!tencent.isSessionValid())
- {
- tencent.login(this, "all", new BaseUiListener());
- }
- }
- public class BaseUiListener implements IUiListener {
- @Override
- public void onComplete(Object object) {
-
- Toast.makeText(LandActivity.this,"登陆成功",Toast.LENGTH_SHORT).show();
-
- }
-
-
- @Override
- public void onError(UiError uiError) {
-
- }
-
- @Override
- public void onCancel() {
-
- }
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode == Constants.REQUEST_LOGIN) {
- if (resultCode == Constants.ACTIVITY_OK) {
- tencent.handleLoginData(data, new BaseUiListener());
- }
-
- super.onActivityResult(requestCode, resultCode, data);
-
- }
- }
好 这样 qq登陆的功能就完成了、。
- class ShareUiListener implements IUiListener {
-
- @Override
- public void onComplete(Object o) {
-
- Toast.makeText(AboutActivity.this,"分享成功",Toast.LENGTH_SHORT).show();
-
- }
-
- @Override
- public void onError(UiError uiError) {
- // 分享异常
- }
-
- @Override
- public void onCancel() {
- //分享取消
- }
- }
- private Bundle paramsa;
- private void shareToQQ() {
- paramsa = new Bundle();
- paramsa.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_DEFAULT);
- paramsa.putString(QQShare.SHARE_TO_QQ_TITLE, "标题");// 标题
- paramsa.putString(QQShare.SHARE_TO_QQ_SUMMARY, "头部按摩器");// 摘要
- paramsa.putString(QQShare.SHARE_TO_QQ_TARGET_URL, "http://mp.weixin.qq.com/s/ObyplzD9MQJ1OcXATN64hQ");// 内容地址
- paramsa.putString(QQShare.SHARE_TO_QQ_IMAGE_URL, "http://www.cdqldz.com/img/ew1.png");// 网络图片地址 params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "应用名称");// 应用名称
- paramsa.putString(QQShare.SHARE_TO_QQ_EXT_INT, "其它附加功能");
-
- tencent.shareToQQ(AboutActivity.this, paramsa, new ShareUiListener());
- }
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
-
- // 官方文档没这句代码, 但是很很很重要, 不然不会回调!
- Tencent.onActivityResultData(requestCode, resultCode, data, new ShareUiListener());
-
- if (requestCode == Constants.REQUEST_API) {
- if (resultCode == Constants.REQUEST_QQ_SHARE ||
- resultCode == Constants.REQUEST_QZONE_SHARE ||
- resultCode == Constants.REQUEST_OLD_SHARE) {
- Tencent.handleResultData(data, new ShareUiListener());
- }
- }
- }
到此 就完成了分享工作
- private Bundle params;
- private void shareToQZone() {
- params = new Bundle();
- params.putInt(QzoneShare.SHARE_TO_QZONE_KEY_TYPE,QzoneShare.SHARE_TO_QZONE_TYPE_IMAGE_TEXT);
- params.putString(QzoneShare.SHARE_TO_QQ_TITLE, "标题");// 标题
- params.putString(QzoneShare.SHARE_TO_QQ_SUMMARY, "要分享的摘要");// 摘要
- params.putString(QzoneShare.SHARE_TO_QQ_TARGET_URL,"http://www.qq.com/news/1.html");// 内容地址
- ArrayList<String> imgUrlList = new ArrayList<>();
- imgUrlList.add("http://f.hiphotos.baidu.com/image/h%3D200/sign=6f05c5f929738bd4db21b531918a876c/6a600c338744ebf8affdde1bdef9d72a6059a702.jpg");
- params.putStringArrayList(QzoneShare.SHARE_TO_QQ_IMAGE_URL,imgUrlList);// 图片地址
-
- tencent.shareToQzone(AboutActivity.this, params,new ShareUiListener());
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。