【发布时间】:2018-09-24 16:29:10
【问题描述】:
我有两个应用程序。两者中的一个有一个自定义内容提供程序,它就像一个魅力。
APP A -> 有提供者的那个
APP B -> 需要提供者提供数据的应用程序
在这种情况下一切正常:
1st : 安装应用 A
第二个:安装应用B
但是当我这样做时:
第一个:安装应用 B
第 2 次:安装应用 A
我得到了错误:
09-19 13:07:22.576: E/AndroidRuntime(14621): Caused by: java.lang.SecurityException: Permission Denial: opening provider
uk.co.ringsizer.ui.BirthProvider from ProcessRecord{450c14c8 14621:uk.co.gemtv/u0a360}
(pid=14621, uid=10360) requires com.eir.provider.Size.READ_DATABASE
or com.eir.provider.Size.WRITE_DATABASE
我的权限在清单文件中明确说明,并且它们是正确的,因为如果我以不同的顺序安装应用程序,它就可以工作。
这是我第一次使用内容提供程序,而且我对 Android 还比较陌生,所以对于更有经验的开发人员来说,这个问题可能很明显。
有什么想法吗?有没有其他人遇到过同样的问题?
提前致谢。
【问题讨论】:
-
捕获这个异常并告诉用户重新安装应用程序......这是你唯一能做的......code.google.com/p/android/issues/detail?id=25906
标签: android android-contentprovider android-permissions