权限不起作用

12

我在Android中遇到了一些奇怪的权限问题。我试图只获取特定用户拥有的Google日历列表,但首先需要让他们选择帐户。

我在清单中包含了这行代码:

<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>

然而我遇到了这个错误:

12-26 03:26:31.004 13841 13841 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{....}: java.lang.SecurityException: caller uid 10105 lacks any of android.permission.GET_ACCOUNTS

我曾尝试使用READ_CALENDARWRITE_CALENDAR来访问未公开的日历API,但是我遇到了类似的异常(尽管可能是因为不同的原因 - 我认为值得提一下以防万一)。

请指点我错在哪里!

谢谢!

2个回答

20

你的<uses-permission>标签可能放错了位置(应该是<manifest>的子标签,和<application>同级),或者GET_ACCOUNTS不是SDK应用程序可以拥有的权限。文档非常糟糕地表明了哪些权限适用于SDK应用程序,哪些权限不适用。


谢谢!我太蠢了,我把uses permission标签放在application标签的子级。 - SapphireSun
你的问题帮助我解决了自己的问题,感谢你的天才帖子让我感到如此愚蠢,原来解决起来这么容易 :) - baron dune

2

我也遇到了同样的问题,在AndroidManifest.xml中将目标SDK版本更改为更高的版本(19)。在我的情况下,清单中的目标SDK版本是17,相当于Android 4.2.2,这与我的HTC One上的版本匹配。但是在更改后,Phonegap联系人插件可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接