我刚刚意识到我的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项目资源管理器在引用的库中找到任何此类属性。有没有简单的方法来找出导致需要许可的原因?
答案 0 :(得分:1)
如果您查看标准Mono for Android模板中的AssemblyInfo.cs
,则会出现以下行:
// Add some common permissions, these can be removed if not needed
[assembly: UsesPermission(Android.Manifest.Permission.Internet)]
[assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)]
这也可能是为项目添加额外权限的罪魁祸首。
答案 1 :(得分:0)
我刚刚在对https://stackoverflow.com/a/5792869/292233的评论中读到,Mono for Android为所有Debug版本添加了INTERNET权限以启用调试。在发布中,它已经消失了。
答案 2 :(得分:0)
您可以添加它们的另一种方法是通过Project文件。右键单击项目,选择“属性”。然后单击Android Manifest选项卡。 (如果您的项目还没有AndroidManifest.xml
文件,您可以单击“添加AndroidManifest.XML”按钮)。您将看到Android中所有可能权限的可滚动列表。单击您的应用程序应该请求的那些。
您可以参考this document on Xamarin's website了解整个过程的截图。