vilicvane / cordova-plugin-wechat

Cordova 微信分享插件
172 stars 53 forks source link

Fix app crash after sharing #5

Closed mkliu closed 9 years ago

mkliu commented 9 years ago

The app is trying to look for the activity but it doesn’t exist. App crashed and web view reloaded.

vilicvane commented 9 years ago

等等啊, 你这直接删了那就没法回调了... 你用的哪个版本的插件?

mkliu commented 9 years ago

啊,抱歉抱歉,我没细看,原来你是hook里面安装啊。我是直接从git来install的,那个hook前半部分起作用来,我的config被改来。但是后面copy文件not working。我试着从registry里面装,stuck了

vilicvane commented 9 years ago

唔,,, 囧~

mkliu commented 9 years ago

从registry里装也结束了,但是文件还是没有拷贝。这次连config.xml都没有更新。这么个安装法感觉好tricky啊

vilicvane commented 9 years ago

一部分是用的 plugin.xml 里标准的配置, 用到 hook 的是可能没办法通过配置 plugin.xml 来完成的. 你说的从 registry 里安装是怎么个安装法囧? 直接 cordova plugin add xxx --variable ... 这样不行咩? 另外或者试试先卸掉再装?

mkliu commented 9 years ago

我发现这plugin的hook根本就没有被调用到。。。我怎么测试?

vilicvane commented 9 years ago

你是用的 Cordova 的命令行工具还是?

mkliu commented 9 years ago

ionicframework,试过调用cordova的命令行也没法trigger

vilicvane commented 9 years ago

Windows?

vilicvane commented 9 years ago

你新建一个项目试试看看会不会是之前遗留的什么问题造成的?

cordova create temp-test my.temp.test
cd temp-test
cordova platform add android
cordova plugin add com.wordsbaking.cordova.wechat --variable APP_ID=test
mkliu commented 9 years ago

mac. 全新的项目,按你给的script也不行。 查了一下,把那个js变成executable permission. 然后照着别人的在开头加了个#!/usr/bin/env node 文件拷贝到主目录下面的hook/after_prepare,这样是可以被call到。但是plugin下面就完全不行

vilicvane commented 9 years ago

唔,,, 空了我看看, 那你先手动弄一下吧. 大概是把 WXEntryActivity.java 这个文件放到你的应用包名对应的目录下的 wxapi 文件夹中, 并且把该文件的包名改为与路径对应的包名, 即你的应用包名.wxapi.

mkliu commented 9 years ago

这个回调文件为什么不能按普通方法copy过去?

vilicvane commented 9 years ago

因为需要移动到应用包名对应的目录中, 然后大家的包名肯定都不一样嘛, 还要改掉文件的包名.

mkliu commented 9 years ago

但是为啥一定要改package name?为啥不能直接用plugin的package name?

vilicvane commented 9 years ago

这个得问微信 SDK 的开发了囧... 我测试了下貌似是必须改掉才能成功回调的, 文档里也是这么说的.

mkliu commented 9 years ago

我单独升级了一下cordova,这下可以了。只不过加了这个activity之后app分享不大流畅。分享界面按back的时候会直接退出。

vilicvane commented 9 years ago

话说如果不需要回调结果的话, 到时可以把这个东西删掉囧~ 直接退出这个之前没注意, 抽空看看~

mkliu commented 9 years ago

我试试其他办法吧。反正我马上写微信login也需要。 我之前看微信sample程序里面回调要简单一些,不需要intent,直接在WXAPIFactory.createWXAPI的时候把listener传进去就可以了。

vilicvane commented 9 years ago

咦, 赞赞赞, 到时候麻烦告知下~ :D

mkliu commented 9 years ago

对了,你一般怎么开发plugin?我现在在ionic project里面直接改plugin,然后再去改plugin的git repo。感觉有些麻烦。你怎么弄的?

vilicvane commented 9 years ago

差不多, 我也觉得很麻烦. 我现在是先生成一个 cordova 项目, 一个空插件, 安好空插件后在那个项目的对应目录直接做开发, 然后再把文件复制到插件目录, 在调试插件安装之类的.