※注意事项:intent-filter的内容【android.intent.action.MAIN】和 【android.intent.category.LAUNCHER】这2个,不能与这次追加的内容混合 。
所以 , 如果加入了同一个Activity,请按以下这样做,否则会导致应用图标在桌面消失等问题 。
intent-filter
action android:name="android.intent.action.MAIN"/
category android:name="android.intent.category.LAUNCHER" /
/intent-filter
intent-filter
action android:name="android.intent.action.VIEW"/
category android:name="android.intent.category.DEFAULT" /
category android:name="android.intent.category.BROWSABLE" /
data android:scheme="myapp" android:host="jp.app" android:pathPrefix="/openwith"/
/intent-filter
这样的话,没有问题 。
接下来在Activity中需要取值的地方添加以下代码 , 我是直接写在OnCreate函数里的:
Intent i_getvalue = https://www.04ip.com/post/getIntent();
String action = i_getvalue.getAction();
if(Intent.ACTION_VIEW.equals(action)){
Uri uri = i_getvalue.getData();
if(uri != null){
String name = uri.getQueryParameter("name");
String age= uri.getQueryParameter("age");
}
}
这样就能获取到URL传递过来的值了 。
——————————————————————————————————我是分割线————————————————————————————————————
代码copy完了,是不是很惊奇的发现用浏览器输入
myapp://jp.app/openwith?name=zhangsanage=26
是不是404,打不开?
楼主你这不是骗人么!楼主你个混蛋啊 。
客官,稍安勿躁啊 , 你看看你用的浏览器是什么?UC,猎豹,欧朋?放弃吧,试试系统自带浏览器或者谷歌浏览器吧 。肯定能成功的,不能成功的话再来坑我 。哈哈 。
——————————————————————————————————我是分割线————————————————————————————————————
突然觉得好悲哀,好不容易get了这个技能,却不能被第三方浏览器使用 。在这个android浏览器大部分被第三方占据着的时代不得不说是个悲剧啊 。
接下来还是说说为什么第三方浏览器不能成功吧 。首先 , 我发现的是UC浏览器,如果你使用了自己的scheme,而不是http的话,uc会默认在你的scheme前面添加http:// 。这太坑爹了 。其他浏览器没看是不是同样的情况 。发现这个问题后我就试着把自己的scheme换成http 。然后满怀期待的又跑了一遍,结果还是坑爹了 。所以我想会不会是第三方浏览器对url做了处理 。到这里,我也无可奈何了 。我测试了UC,猎豹,欧朋,这3个都不支持 。系统自带的和谷歌浏览器是支持的 。
最后再补充个线索吧,在浏览器里搜索百度应用 。进了他们的页面后,他们是可以实现在各种浏览器启动已经安装好的本地app的 。看到这个后我就看了下他们页面的源码 。
在这里他们页面添加了个data-sentintent的标签,看到这里,应该能确定第三方浏览器应该是默认都不支持发intent的,只能自己起一个 。根据前端说 , 这个标签应该是自定义的 。我们前端看源码的时候发现是这样的
所以最后的结果应该是百度这边是起了个端口,然后在应用里启用了一个服务,来监听这个端口,来获取这个intent 。大概就这个思路了 。不过楼主没有实际去操作 。项目时间紧 , 太麻烦了 。对了,百度这个是有集成他们inapp这个sdk的 。
再附上stackoverflow两个相关链接:
java如何将文件上传至天翼云盘使用Java编程可以将文件上传到夭翼云盘 。步骤如下:
推荐阅读
- 怎么改主板硬盘模式密码,怎么改主板硬盘模式密码设置
- 区块链使用失败案例论文,区块链技术的问题及解决措施
- 包含21天学通asp.net视频教程的词条
- java快速书写代码 java如何编写代码
- 电商发货可以用erp系统,erp系统发货流程
- 把安卓平板改为倒车,平板改装车载中控 倒车影像
- vb.net载入图片 vb导入图片的代码
- html5制作apk,html5制作软件
- excel里如何按类命名,xlsx按名称分类