微信分享配置回调Activity中launchMode="singleInstance"的一个坑

在做微信分享的时候,需要用到一个微信的回调Activity:WXEntryActivity

需要用到微信的jar包,可以去开放平台获取

public class WXEntryActivity extends BaseActivity implements IWXAPIEventHandler {

这个activity需要实现一个接口,接口回调函数

// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
	@Override
	public void onResp(BaseResp resp) {
		switch (resp.errCode) {
		case BaseResp.ErrCode.ERR_OK:
			if(wxresp!=null)
			wxresp.onSuccess();
			Toast.makeText(this, "发送成功", Toast.LENGTH_LONG).show();
			finish();
			break;
		case BaseResp.ErrCode.ERR_USER_CANCEL:
			if(wxresp!=null)
			wxresp.onFail();
			Toast.makeText(this, "分享取消", Toast.LENGTH_LONG).show();
			finish();
			break;
		case BaseResp.ErrCode.ERR_AUTH_DENIED:
			Toast.makeText(this, "分享被拒绝", Toast.LENGTH_LONG).show();
			finish();
			break;
		default:
			Toast.makeText(this, "分享返回", Toast.LENGTH_LONG).show();
			break;
		}

	}

最后需要注意的是在manifest里面配置这个activity,必须配置启动模式为singleInstance,这个启动模式会开辟另外一个栈来启动,因为要调用微信客户端里的界面,所以是在另外一个栈来实现,如果对这个模式不是很了解,个人觉得郭霖的第一行代码里面讲的很明了,推荐看看

<activity android:name="com.xxx.xxx.wxapi.WXEntryActivity"
            android:launchMode="singleInstance"
            android:exported="true"
            android:windowSoftInputMode="adjustPan|adjustUnspecified|stateHidden"
            android:screenOrientation="portrait"/>

这样这个回调activity才会回调。之前一直没回调就是因为没配置singleInstance!!!

时间: 2024-08-10 14:34:31

微信分享配置回调Activity中launchMode="singleInstance"的一个坑的相关文章

微信分享技巧、微信分享简单化、微信分享配置技巧

当前项目使用的是SpringMVC.JSP解析器 这里假定大家都用过微信分享了,所以具体使用细节就不讲解了,只分享如何快速.简洁的完成微信分享配置 一.微信分享常规的流程 比如分享一个 index.do 页面,一般步骤 1.写一个公共方法,用来生成微信分享配置参数. /** * 微信分享所需参数 */ public static Map<String, Object> getWeixinShareParams(String ticket, String appid, String url) {

android如何在一个activity中finish掉另外一个activity

============问题描述============ 请教:android如何在一个activity中finish掉另外一个activity? ============解决方案1============ 1.finishAcyivity() 2.用广播监听 3.用ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);试试吧 ============解决方案2============ 比如说B要fin

微信分享配置(js-sdk)

现在的微信分享给朋友-分享到朋友圈 链接带有自定义的title.描述.图片,需要配置js-sdk(地址:mp.weixin.qq.com)微信文档 需要后台配置config的参数,返回给前台 1)debug 设置为true的时候,可以在调试的时候使用,页面有的问题,都会console出来,但是必须在pc的浏览器中才可以 2)appID,timestamo,nonceStr,signature 这四个参数是后台返回的,(后台需要在微信那边获取,是动态的值) 3)需要请求ajax,成功以后做分享(我

实现一个activity中传输信息到另一个activity

android开发中经常需要处理各种各样不同的信息,而不同activity中发送和接收信息对于开发也是相当重要的. 方法一: 发送方代码: Intent intent = new Intent(MainActivity.this,SecondActivity.class);                        Bundle bundle=new Bundle(); bundle.putInt("position", position); intent.putExtras(bu

说说PHP中foreach引用的一个坑

From: http://blog.csdn.net/yipiankongbai/article/details/45307767 先来看看下面这段代码: <?php $arr = array('apple','banana','cat','dog'); foreach($arr as $key=>$val) { //some code } echo $val; //输出dog echo $key; //输出3 //下面对val进行赋值 $val = 'e'; print_r($arr); /

mysql迁移到mongodb shared架构的过程中踩到的一个坑

Mysql库中有一个表,数据量在10亿左右,基本上对于这个表的操作都是没有意义的,因此想测试一下迁移到mongodb的shared架构上是否会有所改善.于是哼哧哼哧的搭建了一个3分片的mongo环境,并将mysql中这个大表的数据导出成了csv的格式,最终使用mongoimport工具成功将10亿多的数据导入mongo集群中去.但是导完后查看了下mongodb中对应的db的信息,差点没吓出尿来,请看: ## 在mongos中查看db的信息,显示迁移后的lens_mobapp_trace库大小为1

OpenStack Heat template中类型定义的一个坑

最新的Heat template目前支持string | number | json | comma_delimited_list | boolean等类型. 采用默认的hot格式,yaml文件格式. 定义一个string类型的属性,内容为true或false的时候,会报错. 查看heat engine的log会发现这个属性值默认被转为了boolean类型. 这是为何呢? 查看heat的代码,heat是调用的yaml库来直接load文件的,而对于yaml语言来说,如下的字符串都会被解析为bool

Android之微信分享

Android之微信分享 现在的项目中要用到微信分享,弄了两天才弄好,开始的时候是下载微信的sdk和demo,将demo放到eclipse上跑起来后发现不能分享,都是一闪就结束程序了,后来发现我们要将demo中的APPID和报名替换成我们自己申请应用时的包名和APPID,之后就可以实现分享功能了. 1.注册微信的移动应用 微信注册地址: 点击打开链接 点击图中的创建移动应用,在接下来的第二页中如下: 在应用签名和应用包名这两输入框要根据自己的实际填写,千万别瞎填. 应用签名:我们一般开发程序是用

java菜鸟之微信分享

前言:我终于理解了什么叫做教科书:教科书就是把一些简单容易的知识写成一堆谁都看不懂的书,这,就简称"教科书" 这些天接触到微信分享以及回调的问题,因为之前没接触过,所以这次做这个分享,碰了一点点壁,特意写下博客,以便以后再次回顾,本篇由本菜鸟写下,不好之处,敬请原谅! 想到接入微信分享,各位第一想到的是什么?肯定是看官方文档啊,然而,我发现,是我智商太低?还是微信的 API 写得太高级?我只能说:"fuck you nai nai"! 那只能百度找教程了,找了很多,