gpt4 book ai didi

java - Kit Kat 与所有更高版本(5.x、6.x 和 7.x)之间的 Android 内容提供程序冲突

转载 作者:行者123 更新时间:2023-12-01 08:50:05 25 4
gpt4 key购买 nike

我在用于跨 2 个不同应用程序共享登录的内容提供程序方面遇到问题。主要的问题是 <provider>标签。如果我把它放在 <application> 之外tag,共享资源仅对两个应用程序本地可见,不能共享登录;但在奇巧中运行。如果我把它放在 <application> 里面它适用于 Lollipop、Marshmallow 和 Nougat,但在 Kit Kat 中运行时,这两个应用程序中的应用程序启动时都会崩溃,表示该应用程序的命名空间中未定义提供程序类 ,但当然它位于项目中正确的命名空间中。不幸的是,我必须支持 Kit Kat,并且当 <provider> 时,该提供程序可以在 5.x、6.x 和 7.x 中工作。位于 <application> 内我可以在应用程序之间共享登录 token (JWT),这是这些应用程序的要求。 如何让提供程序在 Kit Kat 中像在 Lollipop、Marshmallow 和 Nougat 中一样工作?

最佳答案

If I place it outside the <application>

但是您的问题并不完整,因为它没有显示您的 list 内容,我将此作为答案发布,原因很简单:<provider>不能在 <application> 之外:

<provider>
CONTAINED IN:
<application>

https://developer.android.com/guide/topics/manifest/provider-element.html

因此,您很有可能只是使用了在后续版本中修复的平台错误的副作用。

I'm having a problem with a content provider used for shared log in across 2 different apps

有明确的机制允许您限制对正确公开的提供商的访问。没有理由使用技巧,例如 android:permission或可选android:grantUriPermissions 。在我看来,您当前的方法在设计上是错误的,应该首先修复它。

关于java - Kit Kat 与所有更高版本(5.x、6.x 和 7.x)之间的 Android 内容提供程序冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42448749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com