权限似乎没有任何区别......
在清单中,我只有一个<uses-permission>
(permission.INTERNET
),我有两个<permission>
元素:
<permission android:name="myapp.permission.READ"
android:permissionGroup="myapp.permission-group.MYAPP_DATA"
android:label="@string/perm_read"
android:description="@string/perm_read_summary"
android:protectionLevel="signature" />
<permission android:name="myapp.permission.WRITE"
android:permissionGroup="myapp.permission-group.MYAPP_DATA"
android:label="@string/perm_write"
android:description="@string/perm_write_summary"
android:protectionLevel="signature" />
然后是提供者:
<provider
android:name=".data.DataProvider"
android:multiprocess="true"
android:authorities="myapp.data.DataProvider"
android:readPermission="myapp.permission.READ"
android:writePermission="myapp.permission.WRITE" />
现在,我可以正常访问ContentProvider
,而且工作正常。
如果我没有使用<uses-permission>
强制执行,为什么会有效?
在提供商所在的应用中也不应该需要它
声明
使用我自己的权限添加<uses-permission>
没有任何区别。这些权限甚至没有在应用信息中列出。为什么呢?
ps:是的,我在这里读过有关SO和Google网上论坛的问题(也是Hackborn回答的问题)。我跟着(你可以看到)到处都有什么描述,但是......你可以说它正在发挥作用,但关键是我希望看到它什么时候没有。
答案 0 :(得分:5)
在声明提供者的应用程序中是否也不需要它?
AFAIK,您自己的应用程序拥有您声明的所有权限。第三方需要<uses-permission>
。
甚至没有在应用信息中列出权限。为什么呢?
见上文。
你可以说它正在发挥作用,但关键是我希望看到它什么时候没有。
在自己的软件包中编写另一个应用程序来测试您的权限。