起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: qinglongwuyong

[结贴] 从APP中调用其他APP

  [复制链接]
发表于 2016-4-13 15:40:32 | 显示全部楼层
qinglongwuyong 发表于 2016-4-13 14:14
我测试了一下,现在问题是这样的,如果app的js文件中有require()这种语句加载cordova插件的即使是注释掉 ...

嗯,等我们工作人员会重现看看!您稍等
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-4-13 15:50:59 | 显示全部楼层
app.js文件别手工去改, 那个文件是平台自动维护的,
你正常使用, 打包即可, 如果打包出错时, 把自己本地应用下的log/build.log文件发上来看看
回复 支持 反对

使用道具 举报

16

主题

74

帖子

225

积分

中级会员

Rank: 3Rank: 3

积分
225
QQ
发表于 2016-4-13 16:40:40 | 显示全部楼层
可通过url scheme调用app,我已测试成功,android ios都支持,先到百度查询下你要调用的app的 url scheme,例如百度地图:bdapp(android) baidumap(ios)
调用方法 : window.location.href ="baidumap://(官方文档要传的参数)"
Android需在生成的Native/(你的APP)/config.xml里加入  <allow-intent href="bdapp:*"/> 才能正常打开
回复 支持 反对

使用道具 举报

33

主题

109

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
QQ
 楼主| 发表于 2016-4-13 17:16:16 | 显示全部楼层
fanghao19921124 发表于 2016-4-13 16:40
可通过url scheme调用app,我已测试成功,android ios都支持,先到百度查询下你要调用的app的 url scheme, ...

我这边调用也是成功的,但是window.location.href使用在android手机上是不成功的,在ios是是可以的,我在android手机上使用的window.open()是可以的,现在的问题是我上面那个说的,require()那个问题,打包可以的那种方式运行就出错,运行可以的那种方式打包就报异常,不知道是插件的问题还是我写的问题,你能不能把你require()那个贴一下,我看看是怎么写的
回复 支持 反对

使用道具 举报

33

主题

109

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
QQ
 楼主| 发表于 2016-4-13 17:17:49 | 显示全部楼层
hecr 发表于 2016-4-13 15:50
app.js文件别手工去改, 那个文件是平台自动维护的,
你正常使用, 打包即可, 如果打包出错时, 把自己本 ...

我说的js文件不是app.js而是我使用插件方法的那个w文件对应的js文件
回复 支持 反对

使用道具 举报

16

主题

74

帖子

225

积分

中级会员

Rank: 3Rank: 3

积分
225
QQ
发表于 2016-4-13 17:26:12 | 显示全部楼层
qinglongwuyong 发表于 2016-4-13 17:16
我这边调用也是成功的,但是window.location.href使用在android手机上是不成功的,在ios是是可以的,我在 ...

看你报的错,应该是这个引用这个插件出的错,我是这样写的
require("cordova!cordova-plugin-device");
回复 支持 反对

使用道具 举报

33

主题

109

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
QQ
 楼主| 发表于 2016-4-13 17:29:36 | 显示全部楼层
fanghao19921124 发表于 2016-4-13 17:26
看你报的错,应该是这个引用这个插件出的错,我是这样写的
require("cordova!cordova-plugin-device"); ...

我试过这样写,打包的时候会报错,之后把前面的cordova!去掉打包才能成功,但是运行的时候就会报错误
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-4-13 17:42:16 | 显示全部楼层

>> 我测试了一下,现在问题是这样的,如果app的js文件中有require()这种语句加载cordova插件的即使是注释掉,打包时,依然会加载这个插件,>>如 果删除这样的语句就没事了,并且现在出现这样一种情况require("cordova.plugin.appavailability");用这种格式时打包时不会报异常,但是运行>>时会 出错,如果改成require("cordova!cordova.plugin.appavailability");这种格式,运行时可以但是打包时就会报异常

在V3.4版本中, 插件名已经有些变化, 例如
require("cordova!cordova.plugin.appavailability")
应该改成
require("cordova!cordova-plugin-appavailability");

如果应用是旧代码, 需要执行相关的升级工具, 如果是新写的代码, 这个点需要注意



回复 支持 反对

使用道具 举报

33

主题

109

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
QQ
 楼主| 发表于 2016-4-13 18:07:17 | 显示全部楼层
hecr 发表于 2016-4-13 17:42
>> 我测试了一下,现在问题是这样的,如果app的js文件中有require()这种语句加载cordova插件的即使是注释 ...

恩,是的,我这把点改成-就可以,我这个地方写错了
回复 支持 反对

使用道具 举报

33

主题

109

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
QQ
 楼主| 发表于 2016-4-13 18:08:17 | 显示全部楼层
fanghao19921124 发表于 2016-4-13 17:26
看你报的错,应该是这个引用这个插件出的错,我是这样写的
require("cordova!cordova-plugin-device"); ...

改成这样是可以的,我把 "-" 写成原来的 "."了  
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-20 21:50 , Processed in 0.071036 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表