Android深层链接(意图过滤器)数据大小限制?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android深层链接(意图过滤器)数据大小限制?相关的知识,希望对你有一定的参考价值。
我正在使用intent过滤器深度链接到另一个应用程序,同时传递数据查询字符串语法如下:
myappscheme://com.domain.myappname/receivingIntent?data=MY_DATA_HERE
这按预期工作。由于我在查询字符串中传递数据,我想知道是否有跟随URL scheme (GET query string limits)的大小限制
思想应用程序与浏览器不同,我只想确定是否有任何限制。我确实通过Deep linking / 上的android文档,但没有提到大小。
P.S:
- 我拥有这个应用程序(不用担心集成任何第三方应用程序)
- 我正在构建的应用程序不是本机的(使用Kony)。它只支持这种共享方式,所以我没有其他选择。
- 我已经在模拟器上测试了64k字符串并按预期工作。
发布我自己未经验证的答案,因为我没有进一步开展这项活动。
正如Simon上面的评论,根据Android doc对捆绑大小的限制
通过intent发送数据时,应小心将数据大小限制为几KB。发送过多数据可能导致系统抛出TransactionTooLargeException异常。
来自:https://developer.android.com/guide/components/activities/parcelables-and-bundles
在远程过程调用期间,调用的参数和返回值将作为存储在Binder事务缓冲区中的Parcel对象传输。如果参数或返回值太大而不适合事务缓冲区,则调用将失败并抛出TransactionTooLargeException。
Binder事务缓冲区具有有限的固定大小,当前为1Mb,由进程正在进行的所有事务共享。因此,即使大多数单个事务的大小适中,当有许多事务正在进行时,也会抛出此异常。
来自:https://developer.android.com/reference/android/os/TransactionTooLargeException
以上是关于Android深层链接(意图过滤器)数据大小限制?的主要内容,如果未能解决你的问题,请参考以下文章
意图过滤器不适用于android中的ActivityTestRule
Android 深层链接 - 不显示意图选择器弹出窗口,强制打开应用