`

Android 微信分享操作后 在当前界面提示方案 解决

阅读更多

Android 微信分享操作后 在当前界面提示方案 解决。。。其实不是在当前界面,而是在微信官方指定.wxapi.WXEntryActivity的显示方式为透明。所以给用户视觉效果为当前界面,而后台跳转了。

具体解决,大家请看下文!!

 

源地址 : http://open.weixin.qq.com/document/gettingstart/android/?lang=zh_CN

[3] 接收微信的请求及返回值

如果你的程序需要接收微信发送的请求,或者接收发送到微信请求的响应结果,需要下面3步操作:

a. 在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity

(例如应用程序的包名为net.sourceforge.simcpux,则新添加的类如下图所示)

并在manifest文件里面加上exported属性,设置为true,例如:

b. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法

c. 在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法,示例如下图:

当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。

-------------------------------------------------------------------------------------------

具体方法:

 

public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
	private IWXAPI api;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		api = WXAPIFactory.createWXAPI(this,
				com.imtkoo.jibao.common.Constants.APP_ID, false);
		api.handleIntent(getIntent(), this);

	}

	@Override
	public void onReq(BaseReq arg0) {

	}

	@Override
	public void onResp(BaseResp resp) {
		int result = 0;

		switch (resp.errCode) {
		case BaseResp.ErrCode.ERR_OK:
			result = R.string.errcode_success;
			break;
		case BaseResp.ErrCode.ERR_USER_CANCEL:
			result = R.string.errcode_cancel;
			break;
		case BaseResp.ErrCode.ERR_AUTH_DENIED:
			result = R.string.errcode_deny;
			break;
		default:
			result = R.string.errcode_unknown;
			break;
		}

		Toast.makeText(this, result, Toast.LENGTH_LONG).show();

		// TODO 微信分享 成功之后调用接口
		this.finish();
	}

}
 

 

配置文件中,将WXEntryActivity设置为透明 android:theme="@android:style/Theme.Translucent"

 <activity
            android:name=".wxapi.WXEntryActivity"
            android:exported="true"
            android:label="@string/back_alert_msg"
            android:theme="@android:style/Theme.Translucent" >
        </activity>

 

这样就解决了,微信分享成功后,跳转到指定WXEntryActivity,显示微信分享信息,而给用户视觉效果就在当前界面。

 

转载请注明:http://androidmaster.iteye.com/blog/1887876

分享到:
评论
5 楼 vase 2014-12-29  
我就说嘛,照着改了个出来,看着总感觉有点不对劲,果然有坑。
4 楼 flyingsir_zw 2014-02-14  
确实解决问题了,这个结果响应,文档写的确实有些模糊,这里的方法正解。现分享demo原码。
http://download.csdn.net/detail/flyingsir_zw/6921609
3 楼 hyp712 2013-12-04  
macleo 写道
话说微信的sdk,坑爹坑的厉害啊

真是有点坑,多处调用分享微信,成功后处理真蛋疼
2 楼 带个回家 2013-10-08  
macleo 写道
话说微信的sdk,坑爹坑的厉害啊

现在好多了。必须遵守它的规则就好。

牛逼的企业都是自己定义标准。
1 楼 macleo 2013-09-12  
话说微信的sdk,坑爹坑的厉害啊

相关推荐

    仿微信底部菜单

    【标题】"仿微信底部菜单"是一个Android应用开发项目,其目标是实现类似微信聊天界面底部的导航菜单。微信的底部菜单通常包含“聊天”、“发现”、“通讯录”、“我”等几个主要功能模块,方便用户在不同功能之间...

    mui微信支付

    在移动应用开发中,微信支付是一种常见的支付方式,尤其在中国市场极为流行。MUI(Mobile UI)是一个基于HTML5和JavaScript的开源前端框架,它旨在为开发者提供一套易用、高效的移动开发解决方案。本篇文章将深入...

    QQ微信附近好友雷达扫描

    【QQ微信附近好友雷达扫描】是一个仿制QQ和微信中“附近的人”功能的应用程序,其核心在于模拟雷达扫描的效果,让用户能够在一定范围内发现并连接附近的其他用户。这个功能在社交应用中非常常见,旨在帮助用户拓展...

    仿微信多选、单选图片选择器,拍照功能

    - **UI设计**:创建符合微信风格的界面,包括按钮样式、布局和颜色方案,可以使用XML布局文件(Android)或Storyboard(iOS)来实现。 - **事件监听与处理**:编写代码处理用户的选择行为,例如点击图片、点击相机...

    Android-PullLayout.zip_Android-PullLayout_android

    综上所述,"Android-PullLayout.zip"提供了一个实现下拉刷新功能的解决方案,涵盖了UI设计、事件处理、动画效果、性能优化等多个方面,是Android开发者进行界面交互设计时的一个宝贵资源。通过深入研究和使用这个库...

    Android 6.0以上权限拒绝打开权限设置界面的解决方法

    本人使用小米手机,打开qq或者微信的时候,某个权限拒绝的话,会提示你开启,点击开启会跳转到app的权限设置界面,当然了,这是国内系统深层定制的原因,也就是说这个界面原声的android没有的!这里以小米和魅族作为...

    基于Android系统的水果自动供应系统研究.pdf

    当消费者在人机交互终端点击购买并完成支付后,单片机会接收到信号,随后传送带会将选定的水果送到取货口,并通过指示灯闪烁提示用户取货。 软件设计方面,消费者可采用线上APP购买和线下直接购买两种方式。线上...

    weixin_forMobile-browser:一个用于引导微信用户用浏览器打开的页面

    为了解决这个问题,开发者创建了这样一个页面,它的功能是提示用户使用手机上的其他浏览器(如Chrome、Safari等)来打开特定的网页链接,从而实现原本在微信内无法完成的操作。 标签“HTML”表明此项目主要基于HTML...

    个人设置里面更改头像图片

    9. **错误处理**:确保程序在遇到问题(如网络连接失败、权限被拒绝等)时能够妥善处理,向用户清晰地传达错误信息并给出解决方案。 总的来说,“个人设置里面更改头像图片”是一项涵盖多方面技术的工作,包括UI...

    所有View的上拉加载下拉刷新

    这个特性在许多应用中被广泛采用,如微博、微信等,它使得用户无需离开当前界面就能获取最新信息。 “上拉加载更多”(Load More)则是在用户滚动到列表底部时,加载更多内容到视图下方。这通常用于分页加载,比如...

    系统开发说明文件1

    目前,虽然美团、饿了么等主流外卖平台并未专门针对这种情况提供解决方案,而微信朋友圈、群聊等渠道则成为临时的信息发布平台,效率较低。因此,开发一个专门的代取外卖应用——饭来速,将有助于整合资源,提升服务...

    智慧水务--污水处理远程监控平台方案.doc

    【智慧水务—污水处理远程监控平台】方案旨在解决当前水处理行业的运维管理难题,尤其是在城市化、工业化进程中,水资源管理需求激增的背景下。这一平台专为解决水处理现场、泵站设备的远程管理及运维问题而设计,...

    最新模板易支付系统源码.rar

    易支付系统是一种用于线上交易处理的软件系统,它整合了多种支付接口,如微信支付、支付宝、银联等,旨在为商家提供便捷、高效的支付解决方案。最新模板易支付系统源码是针对当前市场需求进行优化和更新后的版本,...

    park application_park_aplication_

    - 设计:UI/UX设计,确保用户界面友好,易于操作。 - 编码:使用编程语言(如Java、Python或Swift)进行应用程序开发。 - 测试:包括单元测试、集成测试和系统测试,确保功能的正确性和稳定性。 - 部署:发布到...

    Visual Studio 2019学习

    9. **创建源文件**:在“解决方案资源管理器”中,右键点击项目下的“源文件”文件夹,选择“添加”-&gt;“新建项”,然后添加C语言文件。 10. **字体设置**:在“工具”菜单下,选择“选项”,然后在“环境”分类下...

    UniApp实现《买定离手》小游戏最全讲义

    面对这些问题,可以利用HBuilderX提供的调试工具来进行调试,同时也可以参考UniApp的官方文档和其他开发者的经验分享来寻找解决方案。此外,遵循一些最佳实践也是十分重要的,比如保持代码简洁清晰、合理使用组件化...

    mall4m

    "mall4m"是一个专为小程序设计的开源电商解决方案,它采用了现代前端技术栈,包括Vue.js和Element UI,提供了一个轻量级且功能齐全的前后端分离的商城系统。这个项目特别强调了完整的SKU(Stock Keeping Unit)管理...

Global site tag (gtag.js) - Google Analytics