您的位置:首页 > 移动开发 > 微信开发

android 微信 以及QQ的SDK接入分享功能遇到的些问题小结

2016-11-16 10:31 781 查看
首先是微信分享:

 微信分享做的不是很好,给别人的测试和开发带来了很大的不便、

1 : 确定你的Apk包名和签名是否与开放平台填写的一致,尤其签名,必须保持一致,否则不能启动微信客户端;

2: 你的src目录下必须含有包名.wxapi这个包,里面必须含有WXEntryActivity.java文件,否则启动的时候会出错,

并且该类便于微信分享结果回调到应用界面给与提示;

3:当你的分享含有图标时,检查发送时的缩略图大小是否超过32k(不能包含32k要小于32k,亲测过);

4: 分享的文字长度限制:(亲自遇到过该问题,当超过一定的长度是不能启动微信客户端的)

标题: title,不能超过 512Bytes

描述:description, 不能超过 1KB

微信推荐链接参考: http://blog.csdn.net/zs20082012/article/details/53115814





QQ分享相比微信要简单的多:

1:在AndroidManifest.xml里声明QQ相关的Activity
如:

<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >
<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="tencentXXXXXXXX" />
</intent-filter>
</activity>
<activity
android:name="com.tencent.connect.common.AssistActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="behind"
android:theme="@android:style/Theme.Translucent.NoTitle
4000
Bar" />

注意XXXXXXX的地方,要换成你的APP_ID

2:如果想要回调结果提示的话,其实很多做的qq分享并没有设置回调提示

在启动qq分享的页面 重载onActivityResult函数

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

// 官方文档没没没没没没没没没没没这句代码, 但是很很很很很很重要, 不然不会回调!
Tencent.onActivityResultData(requestCode, resultCode, data, shareListener);

if (requestCode == Constants.REQUEST_API) {
if (resultCode == Constants.REQUEST_QQ_SHARE ||
resultCode == Constants.REQUEST_QZONE_SHARE ||
resultCode == Constants.REQUEST_OLD_SHARE) {
Tencent.handleResultData(data, shareListener);
}
}
}


3:上面的回调结果中用到的shareListener,是需要加一个回调接口,用于提示回调结果

public class QQShareListener implements IUiListener{

private Context mContext;

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

@Override
public void onCancel() {
Toast.makeText(mContext, R.string.errcode_cancel, Toast.LENGTH_SHORT).show();
}

@Override
public void onError(UiError uiError) {
Toast.makeText(mContext, mContext.getText(R.string
.errcode_fail) + uiError.errorMessage + "\n" +uiError.errorDetail,Toast.LENGTH_SHORT).show();
}

@Override
public void onComplete(Object o) {
Toast.makeText(mContext, R.string.errcode_success, Toast.LENGTH_SHORT).show();
}
}


4: 测试注意点

当分享到qq好友时,有时会提示你的应用不存在,这是由于你的应用还在审核中,虽然分配了appId但是并未审核通过,审核过了就可以了,

而且在旧的版本的手机qq是没有这个提示的,是可以分享的,但是来自XXX的图标是显示不了的,这都是由于应用尚未审核通过。

就是比较奇葩的是分享到qq空间是没有这些问题的,只要分配了appId,用用未审核通过也能分享qq空间(qq版本也没什么影响)

推荐链接参考:http://blog.csdn.net/leluck/article/details/50596768
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐