Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

作为插件安装的App无法调用微信或者支付宝支付么? #9

Closed
truelizhi opened this issue Sep 2, 2015 · 29 comments
Closed

Comments

@truelizhi
Copy link

如题,作为插件安装的APK无法调起微信及支付宝支付的界面。。如果单独运行的时候就能调用起来。这个有办法解决么?

@cmzy
Copy link
Member

cmzy commented Sep 2, 2015

无法调起提示的异常信息是什么?应该可以吊起来的。请提供更多信息。

@truelizhi
Copy link
Author

qq 20150902164806

又发现一个问题,我在Plugin程序中准备调起打电话的应用,可是发现上面的权限错误。我已经在Host程序中申请了android.permission.CALL_PHONE权限,可还是不行。我用的是Nexus5 的 4.4.2的系统。

@codehz
Copy link
Contributor

codehz commented Sep 2, 2015

直接安装可以打电话吗?

@truelizhi
Copy link
Author

直接安装是没问题的~ 可以调起打电话的应用,发的是Intent

@truelizhi
Copy link
Author

对了,还有以插件方式运行的APK无法使用微信、QQ、微博等第三方登录,因为第三方系统验证App合法性的时候会有问题。

@codehz
Copy link
Contributor

codehz commented Sep 2, 2015

所以有些操作还是不适合作为插件

@truelizhi
Copy link
Author

有时候微信支付可以,有时候不行。调用的时候没有报错,也显示正在启动activity。截图如下:
qq 20150902182256

@truelizhi
Copy link
Author

不知这个问题可以解决么?是BUG还是确实不能够支持呢?

@cmzy
Copy link
Member

cmzy commented Sep 6, 2015

理论上可以的。请提供更多的更详细的代码和日志。

@truelizhi
Copy link
Author

用的就是你们代码中提供的APITest工程,没有改任何一行代码。只是把我们的App放在指定的SD卡目录里面作为DroidPlugin的插件运行。方便给我一个邮箱么?我把我们测试用的App发给你,谢谢了~ 就是微信最后支付的页面调用不起来。

@cmzy
Copy link
Member

cmzy commented Sep 6, 2015

能提供logcat日志吗?完整的。

@codehz
Copy link
Contributor

codehz commented Sep 6, 2015

如果我记得不错的话,plugin崩溃会在sd卡中PluginLog/CrashLog中生成日志的

@cmzy
Copy link
Member

cmzy commented Sep 6, 2015

那个日志没用,得logcat

@truelizhi
Copy link
Author

在支付的过程中我们的App是不崩溃的,这是微信支付的页面无法调出来,不过有些时候可以调出来,绝大部分时候不行。

@truelizhi
Copy link
Author

稍等我把支付的时候的logcat贴出来,没有出现fatal error。

@cmzy
Copy link
Member

cmzy commented Sep 6, 2015

OK

@truelizhi
Copy link
Author

09-06 17:40:03.463: D/dalvikvm(9848): GC_CONCURRENT freed 3076K, 15% free 25974K/30240K, paused 3ms+2ms, total 49ms
09-06 17:40:03.463: D/dalvikvm(9848): WAIT_FOR_CONCURRENT_GC blocked 43ms
09-06 17:40:03.503: W/Settings(9848): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
09-06 17:40:03.833: I/nativeProcess(6701): iqiyi message: create--runOnSubprocess isProcessExist true
09-06 17:40:03.833: I/nativeProcess(6701): iqiyi message: ==== do something executeCmd isProcessExist true =====
09-06 17:40:04.143: V/AsyncHttpResponseHandler(10032): Progress 95 from 95 (100%)
09-06 17:40:04.143: E/orion(10032): 4D61725E330235EAF1434C51DA02E5C6
09-06 17:40:04.143: E/orion(10032): [appid=wx5faf2d92a01c3d30, noncestr=cf2ee7de99895351d72dcc79d067b24b, package=Sign=WXPay, partnerid=1261061001, prepayid=wx20150906174003b5460550ea0673547300, timestamp=1441532404]
09-06 17:40:04.143: I/ActivityManager(773): START u0 {flg=0x18000000 cmp=com.tencent.mm/.plugin.base.stub.WXPayEntryActivity (has extras)} from pid 10032
09-06 17:40:04.163: V/MicroMsg.SDK.WXApiImplV10.ActivityLifecycleCb(10032): com.leqicheng.diankai.usercenter.charge.ProductOrderActivity onActivityPaused
09-06 17:40:04.223: I/ActivityManager(773): START u0 {cmp=com.tencent.mm/.plugin.wallet_index.ui.OrderHandlerUI (has extras)} from pid 16292
09-06 17:40:04.243: I/ActivityManager(773): START u0 {flg=0x10000000 cmp=com.leqicheng.diankai/.wxapi.WXPayEntryActivity (has extras)} from pid 16292
09-06 17:40:04.253: W/InputMethodManagerService(773): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@431e9978 attribute=null, token = android.os.BinderProxy@43498020
09-06 17:40:04.273: V/MicroMsg.SDK.WXApiImplV10.ActivityLifecycleCb(10032): com.leqicheng.diankai.usercenter.charge.ProductOrderActivity onActivityResumed
09-06 17:40:04.483: D/dalvikvm(16420): GC_CONCURRENT freed 408K, 6% free 17119K/18192K, paused 3ms+1ms, total 20ms
09-06 17:40:05.193: D/ImageLoader(10032): Load image from memory cache [http://img1.leqicheng.com/banner/3.png_1080x540]
09-06 17:40:06.713: D/dalvikvm(9848): GC_FOR_ALLOC freed 2950K, 15% free 25961K/30240K, paused 58ms, total 64ms
09-06 17:40:06.743: W/Settings(9848): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
09-06 17:40:08.063: I/WifiMonitor(1010): mWifiReceiver SCAN_RESULTS_AVAILABLE_ACTION
09-06 17:40:08.913: I/nativeProcess(6701): iqiyi message: create--runOnSubprocess isProcessExist true
09-06 17:40:08.913: I/nativeProcess(6701): iqiyi message: ==== do something executeCmd isProcessExist true =====
09-06 17:40:09.833: D/dalvikvm(9848): GC_CONCURRENT freed 2940K, 15% free 25985K/30240K, paused 3ms+3ms, total 34ms
09-06 17:40:09.833: D/dalvikvm(9848): WAIT_FOR_CONCURRENT_GC blocked 20ms
09-06 17:40:09.863: W/Settings(9848): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
09-06 17:40:13.023: D/dalvikvm(9848): GC_FOR_ALLOC freed 2964K, 15% free 25960K/30240K, paused 44ms, total 45ms
09-06 17:40:13.043: W/Settings(9848): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
09-06 17:40:13.193: D/ImageLoader(10032): Load image from memory cache [http://img1.leqicheng.com/banner/1.png_1080x540]

@cmzy
Copy link
Member

cmzy commented Sep 6, 2015

看日志没有问题,起来了

@truelizhi
Copy link
Author

是的,但是最后的支付页面没有出现。。

@codehz
Copy link
Contributor

codehz commented Sep 6, 2015

我觉得可以把微信自己的日志也贴上来。。

@truelizhi
Copy link
Author

以下是正常调用微信支付打出的log:
09-06 17:58:38.433: I/ActivityManager(773): START u0 {flg=0x18000000 cmp=com.tencent.mm/.plugin.base.stub.WXPayEntryActivity (has extras)} from pid 23219
09-06 17:58:38.623: D/dalvikvm(773): GC_FOR_ALLOC freed 6266K, 20% free 47376K/59116K, paused 165ms, total 165ms
09-06 17:58:38.643: V/MicroMsg.SDK.WXApiImplV10.ActivityLifecycleCb(23219): com.leqicheng.diankai.usercenter.charge.ProductOrderActivity onActivityPaused
09-06 17:58:38.693: I/MID(23219): read mid from InternalStorage
09-06 17:58:38.703: I/MID(23219): read mid from InternalStorage:xjgC8TAYnEMz3huB1ptA53KVJo1ttTiyUj9S5VaGifA9ckpoiOGPg7w3TSTtXTRCT1s7nbZHR1duQnBL9ljaYgEOjLkt7ciURry1Qnamt+gl9/ZAJ4M2WUQ0q3JLSkkgZEh80fLGwu1RNg85kEzUYmT0M1Xu
09-06 17:58:38.813: D/dalvikvm(1147): GC_CONCURRENT freed 497K, 13% free 18296K/20916K, paused 2ms+3ms, total 35ms
09-06 17:58:38.863: I/ActivityManager(773): START u0 {cmp=com.tencent.mm/.plugin.wallet_index.ui.OrderHandlerUI (has extras)} from pid 21556
09-06 17:58:38.963: D/NfcDispatcher(1084): Set Foreground Dispatch
09-06 17:58:39.013: I/Adreno-EGL(21556): <qeglDrvAPI_eglInitialize:320>: EGL 1.4 QUALCOMM Build: I0404c4692afb8623f95c43aeb6d5e13ed4b30ddbDate: 11/06/13
09-06 17:58:39.093: I/ActivityManager(773): Displayed com.tencent.mm/.plugin.wallet_index.ui.OrderHandlerUI: +177ms (total +443ms)
09-06 17:58:39.323: I/ActivityManager(773): START u0 {cmp=com.tencent.mm/.plugin.wallet.pay.ui.WalletPayUI (has extras)} from pid 21556

@truelizhi
Copy link
Author

不论成功还是失败,WXPayEntryActivity OrderHandlerUI 都被调用起来了,但是ActivityManager没有报出“Displayed”,最终的{cmp=com.tencent.mm/.plugin.wallet.pay.ui.WalletPayUI 这个UI没有被调用,所以没有显示支付页面。不知道是什么原因呢?

@truelizhi
Copy link
Author

似乎发现问题了,微信支付估计需要去系统里看一下到底App是否注册了才会调用起支付页面。如果我把插件apk在手机上正常安装,然后在Test里面作为插件安装,调用插件就能出现微信支付的页面。删除正常安装在系统里的apk之后,插件里面的apk就不能调用起来微信支付页面了。

@cmzy
Copy link
Member

cmzy commented Sep 6, 2015

反编译下看看他们是否有这个逻辑呢?

@truelizhi
Copy link
Author

有没有办法在系统里也注册一下安装的APK呢?这样微信支付就能用

@truelizhi
Copy link
Author

应该是有的,微信支付的过程中是需要验证应用签名和包名之后才会调起支付页面,否则直接就返回-1

@codehz
Copy link
Contributor

codehz commented Sep 6, 2015

估计不行,注册的话就是系统安装逻辑了

@truelizhi
Copy link
Author

可惜,看来是不能用了。。

@cmzy
Copy link
Member

cmzy commented Sep 7, 2015

close,非插件系统问题。

@cmzy cmzy closed this as completed Sep 7, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants