0

我刚刚意识到我的 Mono for Android 应用程序需要 INTERNET 权限,尽管我没有在我的 Mono Develop 项目设置中设置它。我猜它来自我的项目通过 [UsesPermission] 属性(http://docs.xamarin.com/android/releases/Mono_For_Android_4/Mono_For_Android_4.0.0)引用的库之一。

但是,乍一看,我无法通过 Mono Develop 项目浏览器在引用的库中找到任何此类属性。有什么简单的方法可以找出导致需要许可的原因吗?

4

3 回答 3

1

如果您查看AssemblyInfo.cs标准 Mono for Android 模板,则会出现以下几行:

// Add some common permissions, these can be removed if not needed
[assembly: UsesPermission(Android.Manifest.Permission.Internet)]
[assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)]

这也可能是为您的项目添加额外权限的罪魁祸首。

于 2013-02-08T10:24:08.073 回答
0

我刚刚在https://stackoverflow.com/a/5792869/292233的评论中读到Mono for Android 将 INTERNET 权限添加到所有调试版本以启用调试。在 Release 中,它消失了。

于 2013-02-07T19:37:24.083 回答
0

添加它们的另一种方法是通过项目文件。右键单击项目,选择属性。然后单击 Android Manifest 选项卡。(如果您的项目还没有AndroidManifest.xml文件,您可以单击“添加 AndroidManifest.XML”按钮)。您将看到 Android 中所有可能权限的可滚动列表。单击您的应用程序应该请求的那些。

您可以参考Xamarin 网站上的此文档以获取整个过程的一些屏幕截图。

于 2013-02-14T14:32:03.777 回答